ICacheSession Methods

Solclient

ICacheSession Methods
version: 7.2.1.27

The ICacheSession type exposes the following members.

Methods
  Name Description
Public method CancelCacheRequests
Cancel all in progress cache requests for a given cache session. This function is thread safe and can be called from any thread. When this function is invoked:
  • All blocked synchronous cache requests will return immediately with SOLCLIENT_INCOMPLETE return code and CacheRequestCancelled subcode.
  • A cache event RequestCompletedNotice with a subcode of CacheRequestCancelled is generated for each in progress asynchronous cache request.
  • The associated cache session is still valid to use.
  • Live messages that have been queued (if any) will be delivered.
  • Public method Dispose
    Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
    (Inherited from IDisposable.)
    Public method GetSession
    Gets the ISession that created this ICacheSession.
    Public method SendCacheRequest(Int64, ITopic, Boolean, CacheLiveDataAction)
    A synchronous cache request that waits for the cache response to be fulfilled according to the CacheLiveDataAction handling options.

    Note: Cache requests may be flow controlled if the underlying transport is flow controlled. The transport is considered flow controlled if the library is unable to write to transport device (for example, the TCP socket is full), or if there are more than 1000 session requests (ICacheSession.SendCacheRequest(...) + ISession.SendRequest(...)) outstanding. This will cause ICacheSession.SendCacheRequest(...) to block if the session property, SendBlocking is enabled. If SendBlocking is disabled and it is not possible to write the cache request to the underlying transport, SOLCLIENT_WOULD_BLOCK is returned.

    Cached messages received in response to the cache request are delivered to the application through the usual receive message callback delegate as the messages arrive. This function returns when all cache responses have been returned, and the request is either completed by live data (FULFILL), or by timeout.

    Public method SendCacheRequest(Int64, ITopic, Boolean, CacheLiveDataAction, EventHandlerCacheRequestEventArgs)
    Asynchronous cache request, returns immediately upon successful buffering of the cache request for transmission. The result of the request is reported through the cacheRequestListener.

    Note: Cache requests may be flow controlled if the underlying transport is flow controlled. The transport is considered flow controlled if the library is unable to write to transport device (for example, the TCP socket is full), or if there are more than 1000 session requests (ICacheSession.SendCacheRequest(...) + ISession.SendRequest(...)) outstanding. This will cause ICacheSession.SendCacheRequest(...) to block if the session property, SendBlocking is enabled. If SendBlocking is disabled and it is not possible to write the cache request to the underlying transport, SOLCLIENT_WOULD_BLOCK is returned.

    Cached messages received in response to the cache request are delivered to the application through the usual receive message callback delegate as the messages arrive.

    Public method SendCacheRequest(Int64, ITopic, Boolean, CacheLiveDataAction, Int64, Int64)

    This method is used for SolCache-RS only.

    A synchronous cache request that waits for the cache response to be fulfilled according to the CacheLiveDataAction handling options.

    Note: Cache requests may be flow controlled if the underlying transport is flow controlled. The transport is considered flow controlled if the library is unable to write to transport device (for example, the TCP socket is full), or if there are more than 1000 session requests (ICacheSession.SendCacheRequest(...) + ISession.SendRequest(...)) outstanding. This will cause ICacheSession.SendCacheRequest(...) to block if the session property, SendBlocking is enabled. If SendBlocking is disabled and it is not possible to write the cache request to the underlying transport, SOLCLIENT_WOULD_BLOCK is returned.

    Cached messages received in response to the cache request are delivered to the application through the usual receive message callback delegate as the messages arrive. This function returns when all cache responses have been returned, and the request is either completed by live data (FULFILL), or by timeout.

    Public method SendCacheRequest(Int64, ITopic, Boolean, CacheLiveDataAction, EventHandlerCacheRequestEventArgs, Int64, Int64)

    This method is used for SolCache-RS only.

    Asynchronous cache request, returns immediately upon successful buffering of the cache request for transmission. The result of the request is reported through the cacheRequestListener.

    Note: Cache requests may be flow controlled if the underlying transport is flow controlled. The transport is considered flow controlled if the library is unable to write to transport device (for example, the TCP socket is full), or if there are more than 1000 session requests (ICacheSession.SendCacheRequest(...) + ISession.SendRequest(...)) outstanding. This will cause ICacheSession.SendCacheRequest(...) to block if the session property, SendBlocking is enabled. If SendBlocking is disabled and it is not possible to write the cache request to the underlying transport, SOLCLIENT_WOULD_BLOCK is returned.

    Cached messages received in response to the cache request are delivered to the application through the usual receive message callback delegate as the messages arrive.

    Top
    See Also