Show / Hide Table of Contents

Class MpxBinding

Provides asynchronous communicating pattern based on asynchronous virtual socket. The concrete socket may be based on OS-supported technology i.e. - IO completion ports on Windows

Inheritance
System.Object
DisposableObject
ApplicationComponent
Service
Service<IGlueImplementation>
ServiceWithInstrumentationBase<IGlueImplementation>
GlueComponentService
Binding
MpxBinding
Implements
IApplicationComponent
System.IDisposable
IService
INamed
IConfigurable
ILocalizedTimeProvider
IInstrumentable
IExternallyParameterized
Inherited Members
Binding.CONFIG_SERVER_TRANSPORT_SECTION
Binding.CONFIG_CLIENT_TRANSPORT_SECTION
Binding.ATTR_PATH
Binding.ATTR_SLASH_PATH
Binding.CONFIG_CLIENT_DUMP_ATTR
Binding.CONFIG_SERVER_DUMP_ATTR
Binding.CONFIG_DUMP_PATH_ATTR
Binding.CONFIG_DUMP_FORMAT_ATTR
Binding.CONFIG_INSTRUMENT_TRANSPORT_STAT_ATTR
Binding.CONFIG_STAT_TIMES_EMA_FACTOR_ATTR
Binding.DEFAULT_STAT_TIMES_EMA_FACTOR
Binding.MIN_STAT_TIMES_EMA_FACTOR
Binding.MAX_STAT_TIMES_EMA_FACTOR
Binding.CONFIG_TRANSPORT_IDLE_TIMEOUT_MS_ATTR
Binding.CONFIG_CLIENT_TRANSPORT_EXISTING_ACQUISITION_TIMEOUT_MS_ATTR
Binding.CONFIG_CLIENT_TRANSPORT_COUNT_WAIT_THRESHOLD_ATTR
Binding.CONFIG_CLIENT_TRANSPORT_MAX_COUNT_ATTR
Binding.CONFIG_CLIENT_TRANSPORT_MAX_EXISTING_ACQUISITION_TIMEOUT_MS_ATTR
Binding.CLIENT_TRANSPORT_IDLE_TIMEOUT_MS_DEFAULT
Binding.SERVER_TRANSPORT_IDLE_TIMEOUT_MS_DEFAULT
Binding.CLIENT_TRANSPORT_EXISTING_ACQUISITION_TIMEOUT_MS_DEFAULT
Binding.CLIENT_TRANSPORT_COUNT_WAIT_THRESHOLD_DEFAULT
Binding.CLIENT_TRANSPORT_MAX_COUNT_DEFAULT
Binding.CLIENT_TRANSPORT_MAX_EXISTING_ACQUISITION_TIMEOUT_MS_DEFAULT
Binding.Destructor()
Binding.m_Provider
Binding.Transports
Binding.ClientTransports
Binding.ServerTransports
Binding.Provider
Binding.ConfigNode
Binding.ClientMsgInspectors
Binding.ServerMsgInspectors
Binding.ClientDump
Binding.ServerDump
Binding.DumpPath
Binding.DumpMsgFormat
Binding.InstrumentClientTransportStat
Binding.InstrumentServerTransportStat
Binding.MeasureStatTimes
Binding.StatTimeTicks
Binding.StatTimesEMAFactor
Binding.ClientTransportIdleTimeoutMs
Binding.ServerTransportIdleTimeoutMs
Binding.ClientTransportExistingAcquisitionTimeoutMs
Binding.ClientTransportCountWaitThreshold
Binding.ClientTransportMaxCount
Binding.ClientTransportMaxExistingAcquisitionTimeoutMs
Binding.GetClientCallStatTimeKey(ClientEndPoint, RequestMsg)
Binding.DispatchCall(ClientEndPoint, RequestMsg)
Binding.CheckRunningState(Boolean)
Binding.DumpMsg(Boolean, Msg, Byte[], Int32, Int32)
Binding.DumpMsg(Boolean, Msg, Func<ArraySegment<Byte>>)
Binding.DumpMsg(Boolean, Msg, ArraySegment<Byte>)
Binding._Register(Transport)
Binding._Unregister(Transport)
Binding.m_ClientTransportAllocatorLocks
Binding.AcquireClientTransportForCall(ClientEndPoint, RequestMsg)
Binding.ConfigureAndStartNewClientTransport(ClientTransport)
Binding.ReleaseClientTransportAfterCall(ClientTransport)
Binding.DoSignalStop()
Binding.TryGetExistingAcquiredTransportPerRemoteNode(Node)
GlueComponentService.Glue
GlueComponentService.InstrumentationEnabled
GlueComponentService.WriteLog(LogSrc, MessageType, String, String, Exception, String, Nullable<Guid>)
ServiceWithInstrumentationBase<IGlueImplementation>.ExternalParameters
ServiceWithInstrumentationBase<IGlueImplementation>.ExternalParametersForGroups(String[])
ServiceWithInstrumentationBase<IGlueImplementation>.ExternalGetParameter(String, Object, String[])
ServiceWithInstrumentationBase<IGlueImplementation>.ExternalSetParameter(String, Object, String[])
Service<IGlueImplementation>.ComponentDirector
Service.CONFIG_NAME_ATTR
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.DoCheckForCompleteStop()
Service.CheckServiceInactive()
Service.CheckServiceActive()
Service.CheckServiceActiveOrStarting()
Service.____ObtainPrivateServiceStatusLockObject()
ApplicationComponent.AllComponents
ApplicationComponent.GetAppComponentBySID(UInt64)
ApplicationComponent.GetAppComponentByCommonName(String)
ApplicationComponent.ComponentSID
ApplicationComponent.ComponentStartTime
ApplicationComponent.ComponentCommonName
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)
System.Object.ToString()
Namespace: NFX.Glue.Native
Assembly: NFX.dll
Syntax
public sealed class MpxBinding : Binding, IApplicationComponent, IDisposable, IService, INamed, IConfigurable, ILocalizedTimeProvider, IInstrumentable, IExternallyParameterized

Constructors

MpxBinding(IGlueImplementation, String)

Declaration
public MpxBinding(IGlueImplementation glue, string name)
Parameters
Type Name Description
IGlueImplementation glue
System.String name

MpxBinding(String)

Declaration
public MpxBinding(string name)
Parameters
Type Name Description
System.String name

Fields

CONFIG_SOCKET_FACTORY_SECT

Declaration
public const string CONFIG_SOCKET_FACTORY_SECT = "socket-factory"
Field Value
Type Description
System.String

DEFAULT_IDLE_CHUNK_LIFE_SEC

Declaration
public const int DEFAULT_IDLE_CHUNK_LIFE_SEC = 600
Field Value
Type Description
System.Int32

DEFAULT_MAX_CHUNK_POOL_COUNT

Declaration
public const int DEFAULT_MAX_CHUNK_POOL_COUNT = 1024
Field Value
Type Description
System.Int32

DEFAULT_PORT

Declaration
public const int DEFAULT_PORT = 8237
Field Value
Type Description
System.Int32

DEFAULT_RCV_TIMEOUT

Declaration
public const int DEFAULT_RCV_TIMEOUT = 0
Field Value
Type Description
System.Int32

DEFAULT_SND_TIMEOUT

Declaration
public const int DEFAULT_SND_TIMEOUT = 0
Field Value
Type Description
System.Int32

DEFAULT_SOCKET_LINGER_SEC

Declaration
public const int DEFAULT_SOCKET_LINGER_SEC = 3
Field Value
Type Description
System.Int32

Properties

ClientReceiveBufferSize

Declaration
[Config("client-transport/$rcv-buf-size", 16384)]
public int ClientReceiveBufferSize { get; set; }
Property Value
Type Description
System.Int32

ClientReceiveTimeout

Declaration
[Config("client-transport/$rcv-timeout", 0)]
public int ClientReceiveTimeout { get; set; }
Property Value
Type Description
System.Int32

ClientSendBufferSize

Declaration
[Config("client-transport/$snd-buf-size", 16384)]
public int ClientSendBufferSize { get; set; }
Property Value
Type Description
System.Int32

ClientSendTimeout

Declaration
[Config("client-transport/$snd-timeout", 0)]
public int ClientSendTimeout { get; set; }
Property Value
Type Description
System.Int32

EncodingFormat

Declaration
public override string EncodingFormat { get; }
Property Value
Type Description
System.String
Overrides
Binding.EncodingFormat

IdleChunkLifeSec

Specifies the maximum length of life of an unused memory chunk in the pool. The idle chunk will be evicted after this interval. This setting is common for both server and client as they share the same pool

Declaration
[Config(null, 600)]
public int IdleChunkLifeSec { get; set; }
Property Value
Type Description
System.Int32

MaxChunkPoolCount

Imposes a limit on how many memory chunks can be stored in free chunk pool. The chunks can be resued for making new connections. This setting is common for both server and client as they share the same pool

Declaration
[Config(null, 1024)]
public int MaxChunkPoolCount { get; set; }
Property Value
Type Description
System.Int32

MaxMsgSize

Imposes a limit on maximum message size in bytes

Declaration
[Config("$max-msg-size", 524288)]
public int MaxMsgSize { get; set; }
Property Value
Type Description
System.Int32

OperationFlow

Mpx binding is always async by definition

Declaration
public override OperationFlow OperationFlow { get; }
Property Value
Type Description
OperationFlow
Overrides
Binding.OperationFlow

ServerReceiveBufferSize

Declaration
[Config("server-transport/$rcv-buf-size", 16384)]
public int ServerReceiveBufferSize { get; set; }
Property Value
Type Description
System.Int32

ServerReceiveTimeout

Declaration
[Config("server-transport/$rcv-timeout", 0)]
public int ServerReceiveTimeout { get; set; }
Property Value
Type Description
System.Int32

ServerSendBufferSize

Declaration
[Config("server-transport/$snd-buf-size", 16384)]
public int ServerSendBufferSize { get; set; }
Property Value
Type Description
System.Int32

ServerSendTimeout

Declaration
[Config("server-transport/$snd-timeout", 0)]
public int ServerSendTimeout { get; set; }
Property Value
Type Description
System.Int32

SocketFactory

Returns factory used to make new socket instances per particular technology

Declaration
public MpxSocketFactory SocketFactory { get; }
Property Value
Type Description
MpxSocketFactory

SocketLingerSec

Sets socket linger options. This setting is common for both server and client as they have the same channel semantics

Declaration
[Config(null, 3)]
public int SocketLingerSec { get; set; }
Property Value
Type Description
System.Int32

Methods

AreNodesIdentical(Node, Node)

Declaration
public override bool AreNodesIdentical(Node left, Node right)
Parameters
Type Name Description
Node left
Node right
Returns
Type Description
System.Boolean
Overrides
Binding.AreNodesIdentical(Node, Node)

CloseServerEndpoint(ServerEndPoint)

Declaration
protected override void CloseServerEndpoint(ServerEndPoint epoint)
Parameters
Type Name Description
ServerEndPoint epoint
Overrides
Binding.CloseServerEndpoint(ServerEndPoint)

DoAcceptManagerVisit(Object, DateTime)

Declaration
protected override void DoAcceptManagerVisit(object manager, DateTime managerNow)
Parameters
Type Name Description
System.Object manager
System.DateTime managerNow
Overrides
Binding.DoAcceptManagerVisit(Object, DateTime)

DoConfigure(IConfigSectionNode)

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

DoStart()

Declaration
protected override void DoStart()
Overrides
Service.DoStart()

DoWaitForCompleteStop()

Declaration
protected override void DoWaitForCompleteStop()
Overrides
Binding.DoWaitForCompleteStop()

MakeNewClientTransport(ClientEndPoint)

Declaration
protected override ClientTransport MakeNewClientTransport(ClientEndPoint client)
Parameters
Type Name Description
ClientEndPoint client
Returns
Type Description
ClientTransport
Overrides
Binding.MakeNewClientTransport(ClientEndPoint)

OpenServerEndpoint(ServerEndPoint)

Declaration
protected override ServerTransport OpenServerEndpoint(ServerEndPoint epoint)
Parameters
Type Name Description
ServerEndPoint epoint
Returns
Type Description
ServerTransport
Overrides
Binding.OpenServerEndpoint(ServerEndPoint)

Implements

IApplicationComponent
System.IDisposable
IService
INamed
IConfigurable
ILocalizedTimeProvider
IInstrumentable
IExternallyParameterized

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