Show / Hide Table of Contents

Class ErlAbstractNode

Represents an OTP node

Inheritance
System.Object
DisposableObject
ApplicationComponent
Service
ErlAbstractNode
ErlLocalNode
ErlRemoteNode
Implements
IApplicationComponent
System.IDisposable
IService
INamed
IConfigurable
ILocalizedTimeProvider
Inherited Members
Service.CONFIG_NAME_ATTR
Service.Destructor()
Service.ApplicationDontAutoStartService
Service.Status
Service.Running
Service.Name
Service.TimeLocation
Service.LocalizedTime
Service.Configure(IConfigSectionNode)
Service.Start()
Service.SignalStop()
Service.CheckForCompleteStop()
Service.WaitForCompleteStop()
Service.AcceptManagerVisit(Object, DateTime)
Service.UniversalTimeToLocalizedTime(DateTime)
Service.LocalizedTimeToUniversalTime(DateTime)
Service.AbortStart()
Service.DoStart()
Service.DoSignalStop()
Service.DoCheckForCompleteStop()
Service.DoWaitForCompleteStop()
Service.CheckServiceInactive()
Service.CheckServiceActive()
Service.CheckServiceActiveOrStarting()
Service.DoAcceptManagerVisit(Object, DateTime)
Service.____ObtainPrivateServiceStatusLockObject()
ApplicationComponent.AllComponents
ApplicationComponent.GetAppComponentBySID(UInt64)
ApplicationComponent.GetAppComponentByCommonName(String)
ApplicationComponent.ComponentSID
ApplicationComponent.ComponentStartTime
ApplicationComponent.ComponentCommonName
ApplicationComponent.ComponentDirector
DisposableObject.DisposeAndNull<T>(T)
DisposableObject.DisposeStarted
DisposableObject.Disposed
DisposableObject.EnsureObjectNotDisposed()
DisposableObject.Dispose()
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
Namespace: NFX.Erlang
Assembly: NFX.Erlang.dll
Syntax
public abstract class ErlAbstractNode : Service, IApplicationComponent, IDisposable, IService, INamed, IConfigurable, ILocalizedTimeProvider
Remarks

About nodenames: Erlang nodenames consist of two components, an alivename and a hostname separated by &apos;@'. Additionally, there are two nodename formats: short and long. Short names are of the form &quot;alive@hostname&quot;, while long names are of the form &quot;alive@host.fully.qualified.domainname". Erlang has special requirements regarding the use of the short and long formats, in particular they cannot be mixed freely in a network of communicating nodes, however Jinterface makes no distinction. See the Erlang documentation for more information about nodenames.

The constructors for the AbstractNode classes will create names exactly as you provide them as long as the name contains &apos;@'. If the string you provide contains no &apos;@', it will be treated as an alivename and the name of the local host will be appended, resulting in a shortname. Nodenames longer than 255 characters will be truncated without warning.

Upon initialization, this class attempts to read the file .erlang.cookie in the user's home directory, and uses the trimmed first line of the file as the default cookie by those constructors lacking a cookie argument. If for any reason the file cannot be found or read, the default cookie will be set to the empty string (""). The location of a user's home directory is determined using the system environment "HOME", which may not be automatically set on all platforms

Constructors

ErlAbstractNode(String, IConfigSectionNode)

This constructor

Declaration
protected ErlAbstractNode(string name, IConfigSectionNode config)
Parameters
Type Name Description
System.String name
IConfigSectionNode config

ErlAbstractNode(String, ErlAtom, Boolean)

Create a node with the given name and cookie

Declaration
protected ErlAbstractNode(string name, ErlAtom cookie, bool shortName)
Parameters
Type Name Description
System.String name

Node name in the form "name" or &quot;name@hostname&quot;

ErlAtom cookie

Security cookie used to connect to this/other node(s)

System.Boolean shortName

Use short/long host names

ErlAbstractNode(String, Boolean)

Create a node with the given name and the default cookie

Declaration
protected ErlAbstractNode(string node, bool shortName)
Parameters
Type Name Description
System.String node
System.Boolean shortName

Fields

m_Creation

Declaration
protected int m_Creation
Field Value
Type Description
System.Int32

m_TcpKeepAlive

Declaration
[Config("$tcp-keep-alive")]
protected bool m_TcpKeepAlive
Field Value
Type Description
System.Boolean

m_TcpLinger

Declaration
[Config("$tcp-linger")]
protected bool m_TcpLinger
Field Value
Type Description
System.Boolean

m_TcpNoDelay

Declaration
[Config("$tcp-no-delay")]
protected bool m_TcpNoDelay
Field Value
Type Description
System.Boolean

m_TcpRcvBufSize

Declaration
[Config("$tcp-rcv-buf-size")]
protected int m_TcpRcvBufSize
Field Value
Type Description
System.Int32

m_TcpSndBufSize

Declaration
[Config("$tcp-snd-buf-size")]
protected int m_TcpSndBufSize
Field Value
Type Description
System.Int32

Properties

AliveName

Get the alivename part of the hostname. Nodenames are composed of two parts, an alivename and a hostname, separated by &apos;@'. This method returns the part of the nodename preceding the &apos;@'

Declaration
public string AliveName { get; }
Property Value
Type Description
System.String

Cookie

Get the authorization cookie used by this node

Declaration
[Config("$cookie")]
public ErlAtom Cookie { get; set; }
Property Value
Type Description
ErlAtom

Host

Get the hostname part of the nodename. Nodenames are composed of two parts, an alivename and a hostname, separated by &apos;@'. This method returns the part of the nodename following the &apos;@'

Declaration
public string Host { get; }
Property Value
Type Description
System.String

NodeLongName

Get the long name of this node

Declaration
public ErlAtom NodeLongName { get; }
Property Value
Type Description
ErlAtom

NodeName

Get the name of this node (short or long depending on UseShortName)

Declaration
public ErlAtom NodeName { get; }
Property Value
Type Description
ErlAtom

Port

Get the port number used by this node. For local node the value may be 0 if the node was not registered with the EPMD port mapper

Declaration
public int Port { get; }
Property Value
Type Description
System.Int32

TcpKeepAlive

Declaration
public bool TcpKeepAlive { get; set; }
Property Value
Type Description
System.Boolean

TcpLinger

Declaration
public bool TcpLinger { get; set; }
Property Value
Type Description
System.Boolean

TcpNoDelay

Declaration
public bool TcpNoDelay { get; set; }
Property Value
Type Description
System.Boolean

TcpRcvBufSize

Declaration
public int TcpRcvBufSize { get; set; }
Property Value
Type Description
System.Int32

TcpSndBufSize

Declaration
public int TcpSndBufSize { get; set; }
Property Value
Type Description
System.Int32

Methods

DoConfigure(IConfigSectionNode)

Declaration
protected override void DoConfigure(IConfigSectionNode node)
Parameters
Type Name Description
IConfigSectionNode node
Overrides
Service.DoConfigure(IConfigSectionNode)

ToString()

Declaration
public override string ToString()
Returns
Type Description
System.String
Overrides
System.Object.ToString()

tryReadStringFromFile(String)

Declaration
protected static string tryReadStringFromFile(string filename)
Parameters
Type Name Description
System.String filename
Returns
Type Description
System.String

Implements

IApplicationComponent
System.IDisposable
IService
INamed
IConfigurable
ILocalizedTimeProvider

Extension Methods

MiscUtils.NonNull<T>(T, Func<Exception>, String)
ObjectValueConversion.AsString(Object, String, ConvertErrorHandling)
ObjectValueConversion.AsNonNullOrEmptyString(Object)
ObjectValueConversion.AsLaconicConfig(Object, ConfigSectionNode, String, ConvertErrorHandling)
ObjectValueConversion.AsJSONConfig(Object, ConfigSectionNode, String, ConvertErrorHandling)
ObjectValueConversion.AsXMLConfig(Object, ConfigSectionNode, ConvertErrorHandling)
ObjectValueConversion.AsChar(Object, Char, ConvertErrorHandling)
ObjectValueConversion.AsNullableChar(Object, Nullable<Char>, ConvertErrorHandling)
ObjectValueConversion.AsByte(Object, Byte, ConvertErrorHandling)
ObjectValueConversion.AsNullableByte(Object, Nullable<Byte>, ConvertErrorHandling)
ObjectValueConversion.AsSByte(Object, SByte, ConvertErrorHandling)
ObjectValueConversion.AsNullableSByte(Object, Nullable<SByte>, ConvertErrorHandling)
ObjectValueConversion.AsShort(Object, Int16, ConvertErrorHandling)
ObjectValueConversion.AsNullableShort(Object, Nullable<Int16>, ConvertErrorHandling)
ObjectValueConversion.AsUShort(Object, UInt16, ConvertErrorHandling)
ObjectValueConversion.AsNullableUShort(Object, Nullable<UInt16>, ConvertErrorHandling)
ObjectValueConversion.AsInt(Object, Int32, ConvertErrorHandling)
ObjectValueConversion.AsNullableInt(Object, Nullable<Int32>, ConvertErrorHandling)
ObjectValueConversion.AsUInt(Object, UInt32, ConvertErrorHandling)
ObjectValueConversion.AsNullableUInt(Object, Nullable<UInt32>, ConvertErrorHandling)
ObjectValueConversion.AsLong(Object, Int64, ConvertErrorHandling)
ObjectValueConversion.AsNullableLong(Object, Nullable<Int64>, ConvertErrorHandling)
ObjectValueConversion.AsULong(Object, UInt64, ConvertErrorHandling)
ObjectValueConversion.AsNullableULong(Object, Nullable<UInt64>, ConvertErrorHandling)
ObjectValueConversion.AsDouble(Object, Double, ConvertErrorHandling)
ObjectValueConversion.AsNullableDouble(Object, Nullable<Double>, ConvertErrorHandling)
ObjectValueConversion.AsFloat(Object, Single, ConvertErrorHandling)
ObjectValueConversion.AsNullableFloat(Object, Nullable<Single>, ConvertErrorHandling)
ObjectValueConversion.AsDecimal(Object, Decimal, ConvertErrorHandling)
ObjectValueConversion.AsNullableDecimal(Object, Nullable<Decimal>, ConvertErrorHandling)
ObjectValueConversion.AsBool(Object, Boolean, ConvertErrorHandling)
ObjectValueConversion.AsNullableBool(Object, Nullable<Boolean>, ConvertErrorHandling)
ObjectValueConversion.AsGUID(Object, Guid, ConvertErrorHandling)
ObjectValueConversion.AsNullableGUID(Object, Nullable<Guid>, ConvertErrorHandling)
ObjectValueConversion.AsDateTime(Object)
ObjectValueConversion.AsDateTime(Object, DateTime, ConvertErrorHandling)
ObjectValueConversion.AsNullableDateTime(Object, Nullable<DateTime>, ConvertErrorHandling)
ObjectValueConversion.AsGDID(Object)
ObjectValueConversion.AsGDID(Object, GDID, ConvertErrorHandling)
ObjectValueConversion.AsNullableGDID(Object, Nullable<GDID>, ConvertErrorHandling)
ObjectValueConversion.AsGDIDSymbol(Object)
ObjectValueConversion.AsGDIDSymbol(Object, GDIDSymbol, ConvertErrorHandling)
ObjectValueConversion.AsNullableGDIDSymbol(Object, Nullable<GDIDSymbol>, ConvertErrorHandling)
ObjectValueConversion.AsTimeSpan(Object)
ObjectValueConversion.AsTimeSpan(Object, TimeSpan, ConvertErrorHandling)
ObjectValueConversion.AsNullableTimeSpan(Object, Nullable<TimeSpan>, ConvertErrorHandling)
ObjectValueConversion.AsEnum<TEnum>(Object, TEnum, ConvertErrorHandling)
ObjectValueConversion.AsNullableEnum<TEnum>(Object, Nullable<TEnum>, ConvertErrorHandling)
ObjectValueConversion.AsUri(Object, Uri, ConvertErrorHandling)
JSONExtensions.ToJSON(Object, JSONWritingOptions)
JSONExtensions.ToJSON(Object, TextWriter, JSONWritingOptions)
JSONExtensions.ToJSON(Object, Stream, JSONWritingOptions, Encoding)
ErlObject.ToErlObject(Object)
ErlObject.ToErlObject(Object, ErlTypeOrder, Boolean)
Back to top Copyright © 2006-2018 Agnicore Inc
Generated by DocFX