CallSlot ClassNFX Class Library

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

Represents a class that is immediately returned after transport sends RequestMsg. This class provides CallStatus and RequestID properties where the later is used to match the incoming ResponseMsg. CallSlots are kinds of "spirit-less" mailboxes that keep state about the call, but do not posess any threads/call events. Working with CallSlots from calling code's existing thread of execution is the most efficient way of working with Glue (in high load cases), as it does not create extra object instances (tasks do) for asynchronous coordination and continuation. It is possible to obtain an instance of CallSlot.AsTask in which case that instance is registered with the framework-internal reactor so task does complete normally even on timeout, however, in high-throughput apps (10K+ calls per second) this method is not the most efficient one as it allocates additional objects (task, list entry etc.) that eventually increase GC load for long runs. Note: A 3.2 Ghz 4-Core I7 server with 8Gb of ram can easily handle 40K 2-way calls a second (given little business server logic and simple payload). See also: CallReactor class
Inheritance Hierarchy

OnlineSystem Object
  NFX.Glue CallSlot

Namespace: NFX.Glue
Assembly: NFX (in NFX.dll) Version: 3.0.0.1 (3.0.0.1)
Syntax

public sealed class CallSlot
See Also