NFX.Erlang NamespaceNFX Class Library

[This is preliminary documentation and is subject to change.]

Natively provides Erlang types/terms/parsing and OTP support
Classes

  ClassDescription
Protected classAtomTable
Non-garbage collected hash table for atoms. It stores strings as atoms so that atoms can be quickly compared to with O(1) complexity. The instance of this table is statically maintained and its content is never cleared. The table contains a unique list of strings represented as atoms added throughout the lifetime of the application.
Public classConstAtoms
Public classErlAbstractConnection
Maintains a connection between a C# process and a remote Erlang, C# or C node. The object maintains connection state and allows data to be sent to and received from the peer
Public classErlAbstractNode
Represents an OTP node
Public classErlApp
Public classErlAuthException
Public classErlBadDataException
Public classErlConnection
Maintains a connection between a C# process and a remote Erlang, C# or C node. The object maintains connection state and allows data to be sent to and received from the peer
Public classErlConnectionException
Exception thrown when the connection with a given node gets broken
Public classErlConsts
Provides non-localizable Erlang constants
Protected classErlDown
Message sent when the monitored Pid dies
Protected classErlEpmd
Provides methods for registering, unregistering and looking up nodes with the Erlang portmapper daemon (Epmd). For each registered node, Epmd maintains information about the port on which incoming connections are accepted, as well as which versions of the Erlang communication protocolt the node supports
Public classErlException
Protected classErlExit
Special message sent when a linked pid dies
Public classErlIncompatibleTypesException
Public classErlInputStream
Provides a stream for decoding Erlang terms from external format
Public classErlLinks
Public classErlList
Public classErlLocalNode
Public classErlMbox
Provides a simple mechanism for exchanging messages with Erlang processes or other instances of this class
Public classErlMsg
Provides a distributed carrier for Erlang messages
Public classErlObject
Class defines extension methods on types implementing IErlObject interface and static methods dealing with IErlObject
Public classErlOutputStream
Provides a stream for encoding Erlang terms to external format for transmission or storage
Public classErlPasswordSession
Keeps password for node and user
Public classErlPatternMatcher
Pattern matcher that implements a container of patterns to be matched against a given Erlang term. On successful match, the corresponding func registered with that pattern gets invoked
Public classErlRemoteNode
Public classErlTcpTransport
TCP transport
Public classErlTrace
Special class used for passing tracing information in Erlang distributed messages SEND_TT, EXIT_TT, REG_SEND_TT, EXIT2_TT
Public classErlTransportFactory
Factory of IErlTransport
Public classErlTransportPasswordSource
Source of passwrod for transport (i.e. for SSH connection)
Public classErlTuple
Public classErlTupleBase
Public classErlVarBind
Dictionary of variables bound to terms
Public classNotEnoughDataException
Exception thrown when decoding an Erlang term if there's not enough data in the buffer to construct the term
Protected classStringConsts
A dictionary of framework text messages. Localization may be done in this class in future
Structures

  StructureDescription
Public structureErlAtom
Public structureErlBinary
Provides a C# representation of Erlang integer types
Public structureErlBoolean
Provides a C# representation of Erlang floats and doubles. Erlang defines only one floating point numeric type
Public structureErlByte
Provides a C# representation of Erlang integer types
Public structureErlDouble
Provides a C# representation of Erlang floats and doubles. Erlang defines only one floating point numeric type
Public structureErlLink
Public structureErlLong
Provides a C# representation of Erlang integer types
Public structureErlPatternMatcher Pattern
Public structureErlPid
Provides a C# representation of Erlang integer types
Public structureErlPort
Provides a C# representation of Erlang integer types
Public structureErlRef
Provides a C# representation of Erlang integer types
Public structureErlString
Public structureErlVar
Provides a C# representation of an Erlang variable
Interfaces

  InterfaceDescription
Public interfaceIErlObject
All Erlang terms implement this interface
Public interfaceIErlObject T 
Public interfaceIErlTransport
General interface of TCP transports (i.e. usual TCP channel or SSH tunneled TCP channel)
Public interfaceIQueable
Represents a interface that messages enqueued to ErlMbox must support
Delegates

  DelegateDescription
Public delegateConnAttemptEventHandler
Public delegateEpmdFailedConnAttemptEventHandler
Public delegateErlPasswordRequiredEventHandler
Delegate is called when SSH tunnel requires password for authentication
Public delegateIoOutputEventHandler
Public delegateMailboxMsgEventHandler
Indicates arrival of a message to a given mailbox. The msg is of type ErlMsg, ErlExit, ErlDown, or ErlException.

Return Value

Type:
If returns true, the message is handled, and will not be put in the mailbox's queue. Otherwise, the message will be enqueued in the mailbox's queue.
Public delegateNodeStatusChangeEventHandler
Public delegatePatternMatchFunc
Public delegatePatternMatchFunc TContext 
Public delegateReadWriteEventHandler
Delegate called on read/write from socket
Public delegateTraceEventHandler
Debugging delegate called to be able to record transport-related events
Public delegateUnhandledMsgEventHandler
Enumerations

  EnumerationDescription
Public enumerationDirection
Protected enumerationErlAbstractNode NodeCompatibility
Protected enumerationErlAbstractNode NodeType
Protected enumerationErlExternalTag
Tags used for external format serialization
Public enumerationErlMsg Tag
Erlang message header tags
Public enumerationErlTraceLevel
Public enumerationErlTypeOrder
Defines ordering semantics for Erlang types