CallSlot MembersNFX Class Library

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

The CallSlot type exposes the following members.
Constructors

  NameDescription
Public methodCallSlot(ClientEndPoint, ClientTransport, RequestMsg, CallStatus, Int32)
INTERNAL METHOD. Developers do not call! This constructor is used by an Async binding that delivers response after call slot was created
Public methodCallSlot(ClientEndPoint, ClientTransport, Int64, DateTime, RequestMsg, ResponseMsg, Int32)
INTERNAL METHOD. Developers do not call! This constructor is used by a synchronous binding that delivers response right after sending it. ONLY for OneWayCall = false
Back to Top
Methods

  NameDescription
Public methodAsTaskReturning TCallResult 
Creates a wrapper task around CallSlot.AsTask and returns CallSlot.GetValue() as TCallResult-returning Task. Note: the created wrapper task is not cached
Public methodAsTaskReturningVoid
Creates a wrapper task around CallSlot.AsTask and returns CallSlot.CheckVoidValue() Note: the created wrapper task is not cached
Public methodCheckVoidValue
Checks for a valid void value returned from the other side, that is - gets the response message and checks it for errors, throwing RemoteError exception if one came from server. Accessing this property blocks calling thread until either ResponseMsg arrives or timeout expires. Check 'Available' property not to block. Accessing this method for [OneWay] methods throws.
Protected methodDeliverResponse
Called internally by framework to populate the response message when one asynchronously arrives from transport
Public methodEquals (Overrides OnlineObject Equals(Object).)
Protected methodOnlineFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from OnlineObject.)
Public methodGetHashCode (Overrides OnlineObject GetHashCode .)
Public methodOnlineGetType
Gets the OnlineType of the current instance.
(Inherited from OnlineObject.)
Public methodGetValue T 
Returns a value from the other side, that is - gets the response message and checks it for errors, throwing RemoteError exception if one came from server. Accessing this property blocks calling thread until either ResponseMsg arrives or timeout expires. Check 'Available' property not to block. Accessing this method for [OneWay] methods throws.
Protected methodOnlineMemberwiseClone
Creates a shallow copy of the current OnlineObject.
(Inherited from OnlineObject.)
Protected methodSignalDispatchError
Signal erroneous completion of request dispatching. This method is used by transports that post outgoing message asynchronously
Public methodToString (Overrides OnlineObject ToString .)
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 memberDEFAULT_TIMEOUT_MS
Protected fieldm_TaskCompletionSource
Back to Top
Properties

  NameDescription
Public propertyAsTask
Gets the CallSlot instance as a task that gets completed either instantly for one-way calls or when result arrives or timeout happens. The returned task never gets canceled
Public propertyAvailable
Returns true when response has come and available so no blocking will occur when reading response. This is a non-blocking call. Always returns true for operations marked as [OneWay]
Public propertyCallContext
General-purpose property that clients can use for attaching an arbitrary context to this instance. This property has no use in the framework
Public propertyCallStatus
Returns current call status. Timeout is returned when response has not arrived from the other side in alotted time. This is a non-blocking call
Public propertyClient
Returns client endpoint that initiated this call
Public propertyClientTransport
Returns client transport that this instance is originated from
Public propertyDispatchErrorMessage
Optionally returns reason of the dispatch message failure
Public propertyOneWay
Indicates that this call does not expect a response message from the server side
Public propertyRequestID
Returns request ID for the request that was sent and generated this slot instance
Public propertyResponseMsg
Blocks until response comes or timeout happens. Response message inspection happens in the context of a calling thread
Public propertyStartTime
Returns UTC timestamp of call initiation
Public propertyStatRoundtripEndTimeTicks
When binding's MeasureStatTimes enabled, returns the operation end (when response arrives) tick count
Public propertyStatRoundtripTimeKey
When binding's MeasureStatTimes enabled, returns the name of the stat key
Public propertyStatStartTimeTicks
When binding's MeasureStatTimes enabled, returns the operation start tick count
Public propertyTimeoutMs
Returns timeout for this instance
Back to Top
See Also