Show / Hide Table of Contents

Class SyncBinding

Provides synchronous communication pattern based on TCP blocking sockets and Slim serializer for maximum serialization performance and lowest latency. This binding is usable for interconnection between NFX-native components on LANs (i.e. server clusters) in scenarios when low latency is more important than total call invocation throughput

Inheritance
System.Object
DisposableObject
ApplicationComponent
Service
Service<IGlueImplementation>
ServiceWithInstrumentationBase<IGlueImplementation>
GlueComponentService
Binding
SyncBinding
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.DoConfigure(IConfigSectionNode)
Binding.DoAcceptManagerVisit(Object, DateTime)
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 class SyncBinding : Binding, IApplicationComponent, IDisposable, IService, INamed, IConfigurable, ILocalizedTimeProvider, IInstrumentable, IExternallyParameterized

Constructors

SyncBinding(IGlueImplementation, String)

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

SyncBinding(String)

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

Fields

DEFAULT_PORT

Declaration
public const int DEFAULT_PORT = 8000
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

KNOWN_SERIALIZER_TYPES

Declaration
public static readonly TypeRegistry KNOWN_SERIALIZER_TYPES
Field Value
Type Description
TypeRegistry

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

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

Sync binding is synchronous 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

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)

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