Click or drag to resize

ICacheSession Interface

version: 10.23.0
Session for performing cache requests. This is created through CreateCacheSession(CacheSessionProperties)

Namespace:  SolaceSystems.Solclient.Messaging.Cache
Assembly:  SolaceSystems.Solclient.Messaging (in SolaceSystems.Solclient.Messaging.dll) Version: 10.23.0
Syntax
C#
public interface ICacheSession : IDisposable

The ICacheSession type exposes the following members.

Methods
  NameDescription
Public methodCancelCacheRequests
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 methodDispose
    Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
    (Inherited from IDisposable.)
    Public methodGetSession
    Gets the ISession that created this ICacheSession.
    Public methodSendCacheRequest(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 methodSendCacheRequest(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 methodSendCacheRequest(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 methodSendCacheRequest(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