Binding MembersNFX Class Library

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

The Binding type exposes the following members.
Constructors

  NameDescription
Protected methodBinding(String)
Initializes a new instance of the Binding class
Protected methodBinding(IGlueImplementation, String, Provider)
Initializes a new instance of the Binding class
Back to Top
Methods

  NameDescription
Protected method____ObtainPrivateServiceStatusLockObject
WARNING: Developers never call this method!!! It is used by advanced derived implementations that need to synchronize status updates. We do not want to make statuslock protected as it is almost never needed, hence this accessor
(Inherited from Service.)
Protected method__setComponentDirector (Inherited from ApplicationComponent.)
Protected method_Register
Protected method_Unregister
Protected methodAbortStart
Allows to abort unsuccessful DoStart() overridden implementation. This method must be called from within DoStart()
(Inherited from Service.)
Public methodAcceptManagerVisit
Accepts a visit of a manager entity - this call is useful for periodic updates of service status, i.e. when service does not have a thread of its own it can be periodically managed by some other service through this method. The default implementation of DoAcceptManagerVisit(object, DateTime) does nothing
(Inherited from Service.)
Protected methodAcquireClientTransportForCall
Returns an instance of transport suitable for a call. The implementation may return existing transport or allocate a new instance. The call is thread-safe
Public methodAreNodesIdentical
Returns true when two nodes represent the same binding, host and service identities. The implementation depends on binding, for example some binding may recognize an optional parameter as part of host segment, however that parameter does not change the identity of the node instance
Public methodCheckForCompleteStop
Non-blocking call that returns true when the service instance has completely stopped after SignalStop()
(Inherited from Service.)
Public methodCheckRunningState
Ensures that application and binding runtime are running or throws otherwise
Protected methodCheckServiceActive
Checks for service activity and throws exception if service is not in ControlStatus.Active state
(Inherited from Service.)
Protected methodCheckServiceActiveOrStarting
Checks for service activity and throws exception if service is not in ControlStatus.Active state
(Inherited from Service.)
Protected methodCheckServiceInactive
Checks for service inactivity and throws exception if service is running (started, starting or stopping)
(Inherited from Service.)
Protected methodCloseServerEndpoint
Public methodConfigure
Configures service from configuration node (and possibly it's sub-nodes)
(Inherited from Service.)
Protected methodConfigureAndStartNewClientTransport
Override to perform custom transport preparation and launch
Protected methodDestructor (Overrides Service Destructor .)
Public methodDispatchCall
Dispatches a call allocating new or re-using existing transport if needed. The strategy depends on particular Binding implementation. This call is thread-safe
Public methodDispose
Deterministically disposes object. DO NOT OVERRIDE this method, override Destructor() instead
(Inherited from DisposableObject.)
Protected methodDoAcceptManagerVisit (Overrides Service DoAcceptManagerVisit(Object, DateTime).)
Protected methodDoCheckForCompleteStop
Provides implementation for checking whether the service has completely stopped
(Inherited from Service.)
Protected methodDoConfigure (Overrides Service DoConfigure(IConfigSectionNode).)
Protected methodDoSignalStop (Overrides Service DoSignalStop .)
Protected methodDoStart
Provides implementation that starts the service
(Inherited from Service.)
Protected methodDoWaitForCompleteStop (Overrides Service DoWaitForCompleteStop .)
Protected methodDumpMsg(Boolean, Msg, ArraySegment Byte )
Conditionally dumps message to disk
Protected methodDumpMsg(Boolean, Msg, Func ArraySegment Byte  )
Conditionally dumps message to disk where the data is lazily obtained by calling dataFun
Protected methodDumpMsg(Boolean, Msg,  Byte , Int32, Int32)
Conditionally dumps message to disk
Public methodEnsureObjectNotDisposed
Checks to see whether object dispose started or has already been disposed and throws an exception if Dispose() was called
(Inherited from DisposableObject.)
Public methodOnlineEquals
Determines whether the specified object is equal to the current object.
(Inherited from OnlineObject.)
Public methodExternalGetParameter
Gets external parameter value returning true if parameter was found
(Inherited from ServiceWithInstrumentationBase TDirector .)
Public methodExternalParametersForGroups
Returns named parameters that can be used to control this component
(Inherited from ServiceWithInstrumentationBase TDirector .)
Public methodExternalSetParameter
Sets external parameter value returning true if parameter was found and set
(Inherited from ServiceWithInstrumentationBase TDirector .)
Protected methodFinalize (Inherited from DisposableObject.)
Public methodGetClientCallStatTimeKey
Extracts necessary information from client:request pair that characterizes the particular call for the purpose of call timing
Public methodOnlineGetHashCode
Serves as the default hash function.
(Inherited from OnlineObject.)
Public methodOnlineGetType
Gets the OnlineType of the current instance.
(Inherited from OnlineObject.)
Public methodLocalizedTimeToUniversalTime
Converts localized time to UTC time as of TimeLocation property
(Inherited from Service.)
Protected methodMakeNewClientTransport
Factory method - Override to make an instance of a new client transport suitable for particular binding type
Protected methodOnlineMemberwiseClone
Creates a shallow copy of the current OnlineObject.
(Inherited from OnlineObject.)
Protected methodOpenServerEndpoint
Protected methodReleaseClientTransportAfterCall
Releases a transport instance that was acquired for call. The implementation may return this instance back to the pool of available transports or deallocate it. The default implementation releases the instance back to the pool
Public methodSignalStop
Non-blocking call that initiates the stopping of the service
(Inherited from Service.)
Public methodStart
Blocking call that starts the service instance
(Inherited from Service.)
Protected methodStartByApplication
Blocking call that starts the service instance
(Inherited from Service.)
Public methodOnlineToString
Returns a string that represents the current object.
(Inherited from OnlineObject.)
Protected methodTryGetExistingAcquiredTransportPerRemoteNode
Tries to acquire an available client transport to make a call. This method respects binding/transport settings that impose a limit on the number of open concurrent transports and timeouts for acqusition waiting
Public methodUniversalTimeToLocalizedTime
Converts universal time to local time as of TimeLocation property
(Inherited from Service.)
Public methodWaitForCompleteStop
Blocks execution of current thread until this service has completely stopped
(Inherited from Service.)
Public methodWriteLog (Inherited from GlueComponentService.)
Back to Top
Extension Methods

  NameDescription
Public Extension MethodAsBool (Defined by ObjectValueConversion.)
Public Extension MethodAsByte (Defined by ObjectValueConversion.)
Public Extension MethodAsChar (Defined by ObjectValueConversion.)
Public Extension MethodAsDateTime Overloaded. (Defined by ObjectValueConversion.)
Public Extension MethodAsDateTime(DateTime, ConvertErrorHandling)Overloaded. (Defined by ObjectValueConversion.)
Public Extension MethodAsDecimal (Defined by ObjectValueConversion.)
Public Extension MethodAsDouble (Defined by ObjectValueConversion.)
Public Extension MethodAsEnum TEnum  (Defined by ObjectValueConversion.)
Public Extension MethodAsFloat (Defined by ObjectValueConversion.)
Public Extension MethodAsGDID Overloaded. (Defined by ObjectValueConversion.)
Public Extension MethodAsGDID(GDID, ConvertErrorHandling)Overloaded. (Defined by ObjectValueConversion.)
Public Extension MethodAsGDIDSymbol Overloaded. (Defined by ObjectValueConversion.)
Public Extension MethodAsGDIDSymbol(GDIDSymbol, ConvertErrorHandling)Overloaded. (Defined by ObjectValueConversion.)
Public Extension MethodAsGUID (Defined by ObjectValueConversion.)
Public Extension MethodAsInt (Defined by ObjectValueConversion.)
Public Extension MethodAsJSONConfig (Defined by ObjectValueConversion.)
Public Extension MethodAsLaconicConfig (Defined by ObjectValueConversion.)
Public Extension MethodAsLong (Defined by ObjectValueConversion.)
Public Extension MethodAsNonNullOrEmptyString (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableBool (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableByte (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableChar (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableDateTime (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableDecimal (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableDouble (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableEnum TEnum  (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableFloat (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableGDID (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableGDIDSymbol (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableGUID (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableInt (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableLong (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableSByte (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableShort (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableTimeSpan (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableUInt (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableULong (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableUShort (Defined by ObjectValueConversion.)
Public Extension MethodAsSByte (Defined by ObjectValueConversion.)
Public Extension MethodAsShort (Defined by ObjectValueConversion.)
Public Extension MethodAsString (Defined by ObjectValueConversion.)
Public Extension MethodAsTimeSpan Overloaded. (Defined by ObjectValueConversion.)
Public Extension MethodAsTimeSpan(TimeSpan, ConvertErrorHandling)Overloaded. (Defined by ObjectValueConversion.)
Public Extension MethodAsUInt (Defined by ObjectValueConversion.)
Public Extension MethodAsULong (Defined by ObjectValueConversion.)
Public Extension MethodAsUri (Defined by ObjectValueConversion.)
Public Extension MethodAsUShort (Defined by ObjectValueConversion.)
Public Extension MethodAsXMLConfig (Defined by ObjectValueConversion.)
Public Extension MethodToErlObject Overloaded.
Try to convert .NET native object type to corresponding Erlang term. Throw exception if conversion is not possible
(Defined by ErlObject.)
Public Extension MethodToErlObject(ErlTypeOrder, Boolean)Overloaded.
Try to convert .NET native object type to corresponding Erlang term of given type. Throw exception if conversion is not possible
(Defined by ErlObject.)
Public Extension MethodToJSON(JSONWritingOptions)Overloaded.
Serializes object into JSON string
(Defined by JSONExtensions.)
Public Extension MethodToJSON(TextWriter, JSONWritingOptions)Overloaded.
Serializes object into JSON format using provided TextWriter
(Defined by JSONExtensions.)
Public Extension MethodToJSON(Stream, JSONWritingOptions, Encoding)Overloaded.
Serializes object into JSON format using provided stream and optional encoding
(Defined by JSONExtensions.)
Back to Top
Fields

  NameDescription
Public fieldStatic memberATTR_PATH
Public fieldStatic memberATTR_SLASH_PATH
Public fieldStatic memberCLIENT_TRANSPORT_COUNT_WAIT_THRESHOLD_DEFAULT
Public fieldStatic memberCLIENT_TRANSPORT_EXISTING_ACQUISITION_TIMEOUT_MS_DEFAULT
Public fieldStatic memberCLIENT_TRANSPORT_IDLE_TIMEOUT_MS_DEFAULT
Public fieldStatic memberCLIENT_TRANSPORT_MAX_COUNT_DEFAULT
Public fieldStatic memberCLIENT_TRANSPORT_MAX_EXISTING_ACQUISITION_TIMEOUT_MS_DEFAULT
Public fieldStatic memberCONFIG_CLIENT_DUMP_ATTR
Public fieldStatic memberCONFIG_CLIENT_TRANSPORT_COUNT_WAIT_THRESHOLD_ATTR
Public fieldStatic memberCONFIG_CLIENT_TRANSPORT_EXISTING_ACQUISITION_TIMEOUT_MS_ATTR
Public fieldStatic memberCONFIG_CLIENT_TRANSPORT_MAX_COUNT_ATTR
Public fieldStatic memberCONFIG_CLIENT_TRANSPORT_MAX_EXISTING_ACQUISITION_TIMEOUT_MS_ATTR
Public fieldStatic memberCONFIG_CLIENT_TRANSPORT_SECTION
Public fieldStatic memberCONFIG_DUMP_FORMAT_ATTR
Public fieldStatic memberCONFIG_DUMP_PATH_ATTR
Public fieldStatic memberCONFIG_INSTRUMENT_TRANSPORT_STAT_ATTR
Public fieldStatic memberCONFIG_SERVER_DUMP_ATTR
Public fieldStatic memberCONFIG_SERVER_TRANSPORT_SECTION
Public fieldStatic memberCONFIG_STAT_TIMES_EMA_FACTOR_ATTR
Public fieldStatic memberCONFIG_TRANSPORT_IDLE_TIMEOUT_MS_ATTR
Public fieldStatic memberDEFAULT_STAT_TIMES_EMA_FACTOR
Defines how much smoothing the timing statistics filter does - the lower the number the more smoothing is done. Smoothing makes stat times insensitive to some seldom delays that may happen every now and then
Protected fieldm_ClientTransportAllocatorLocks
Hash table of locks used during new transport allocation, must be prime size
Protected fieldm_Provider
Protected fieldm_Transports
Public fieldStatic memberMAX_STAT_TIMES_EMA_FACTOR
Public fieldStatic memberMIN_STAT_TIMES_EMA_FACTOR
Public fieldStatic memberSERVER_TRANSPORT_IDLE_TIMEOUT_MS_DEFAULT
Back to Top
Properties

  NameDescription
Public propertyApplicationDontAutoStartService
Checks whether the class is decorated with ApplicationDontAutoStartServiceAttribute
(Inherited from Service.)
Public propertyClientDump
Turns on/off client message dumping to disk. Turning on dumping has negative effect on performance and consumes resources
Public propertyClientMsgInspectors
Returns client message inspectors for this instance
Public propertyClientTransportCountWaitThreshold
Sets the threshold, expressed as the number of active client transports per remote address, below which binding will always allocate a new instance of client transport without trying/waiting to acquire an existing one. When this number is exceeded then binding will try to acquire an existing client transport instance for up to ClientTransportExistingAcquisitionTimeoutMs milliseconds. For more info, see 'NFX.Glue: Client Call Concurrency' topic in manual/blog
Public propertyClientTransportExistingAcquisitionTimeoutMs
Sets the length of interval for the binding trying to acquire existing client transport instance to make a call. When this interval is exhausted then binding tries to allocate a new client transport per remote address, unless other limits prohibit (max transport count). The value has to be greater or equal to zero. NOTE: this property works in conjunction with ClientTransportCoutWaitThreshold, if the number of active client transports is below ClientTransportCoutWaitThreshold, then binding does not wait and allocates a new client transport right away until ClientTransportCoutWaitThreshold limit is reached, then binding will try to acquire existing transport for ClientTransportExistingAcquisitionTimeoutMs milliseconds. For more info, see 'NFX.Glue: Client Call Concurrency' topic in manual/blog
Public propertyClientTransportIdleTimeoutMs
Specifies when client transports get auto-closed. Interval is measured in ms. Zero means indefinite/never closed transport. For more info, see 'NFX.Glue: Client Call Concurrency' topic in manual/blog
Public propertyClientTransportMaxCount
Imposes a limit on number of active client transports per remote address. Once this limit is reached the binding will block until it can acquire an existing transport instance. Set value to zero to remove the limit. For more info, see 'NFX.Glue: Client Call Concurrency' topic in manual/blog
Public propertyClientTransportMaxExistingAcquisitionTimeoutMs
Imposes a timeout for binding trying to get an existing transport instance per remote address. Binding throws ClientCallException when this timeout is exceeded. A value of zero removes the limit
Public propertyClientTransports
Returns all client transports in the binding stack
Public propertyComponentCommonName
Returns the common name used to identify the component, for example "Glue" for various IGlue implementations. This name is searched-by some management tools that allow to find component by this name that does not change between application restarts like ComponentSID does. Subordinate (non-root) components return null
(Inherited from ApplicationComponent.)
Public propertyComponentDirector (Inherited from Service TDirector .)
Public propertyComponentSID
Returns process/instance unique app component system id
(Inherited from ApplicationComponent.)
Public propertyComponentStartTime
Returns local computer time of component start (not from application container time)
(Inherited from ApplicationComponent.)
Public propertyConfigNode
Returns configuration node for this named instance
Public propertyDisposed
Indicates whether this object was already disposed - the Dispose() has finished
(Inherited from DisposableObject.)
Public propertyDisposeStarted
Indicates whether this object Dispose() has been called and dispose started but not finished yet
(Inherited from DisposableObject.)
Public propertyDumpMsgFormat
Set the format for message dumping
Public propertyDumpPath
Set the path for message dumping. Must be an existing navigable path
Public propertyEncodingFormat
Returns name of msg format encoding
Public propertyExternalParameters
Returns named parameters that can be used to control this component
(Inherited from ServiceWithInstrumentationBase TDirector .)
Public propertyGlue (Inherited from GlueComponentService.)
Public propertyInstrumentationEnabled
Implements IInstrumentable
(Inherited from GlueComponentService.)
Public propertyInstrumentClientTransportStat
Defines whether client transport statistics is periodically dumped into instrumentation
Public propertyInstrumentServerTransportStat
Defines whether server transport statistics is periodically dumped into instrumentation
Public propertyLocalizedTime
Returns current time localized per TimeLocation
(Inherited from Service.)
Public propertyMeasureStatTimes
Defines whether message processing latency should be measured - i.e. messages time-stamped on arrival
Public propertyName
Provides textual name for the service
(Inherited from Service.)
Public propertyOperationFlow
Returns sync/async flow that this binding provides
Public propertyProvider
Public propertyRunning
Returns true when service is active or about to become active. Check in service implementation loops/threads/tasks
(Inherited from Service.)
Public propertyServerDump
Turns on/off server message dumping to disk. Turning on dumping has negative effect on performance and consumes resources
Public propertyServerMsgInspectors
Returns server message inspectors for this instance
Public propertyServerTransportIdleTimeoutMs
Specifies when server transports get auto-closed. Interval is measured in ms. Zero means indefinite/never closed transport. For more info, see 'NFX.Glue: Client Call Concurrency' topic in manual/blog
Public propertyServerTransports
Returns all server transports in the binding stack
Public propertyStatTimesEMAFactor
Defines how much smoothing the timing statistics filter does - the lower the number the more smoothing is done. Smoothing makes stat times insensitive to some seldom delays that may happen every now and then
Public propertyStatTimeTicks
Returns current time in system frequency-dependent ticks. This property is used to measure accurate times and depends on MeasureStatTimes set to true, otherwise 0 is returned
Public propertyStatus
Current service status
(Inherited from Service.)
Public propertyTimeLocation
Returns time location of this LocalizedTimeProvider implementation
(Inherited from Service.)
Public propertyTransports
Returns all transports in the binding stack
Back to Top
See Also