ICacheSessionSendCacheRequest Method (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.
Namespace: SolaceSystems.Solclient.Messaging.Cache
Assembly: SolaceSystems.Solclient.Messaging (in SolaceSystems.Solclient.Messaging.dll) Version: 7.2.1.27 (7.2.1.27)
ReturnCode SendCacheRequest( long requestId, ITopic topic, bool subscribe, CacheLiveDataAction liveDataAction, EventHandler<CacheRequestEventArgs> cacheRequestListener, long startSequenceId, long endSequenceId )
Function SendCacheRequest ( requestId As Long, topic As ITopic, subscribe As Boolean, liveDataAction As CacheLiveDataAction, cacheRequestListener As EventHandler(Of CacheRequestEventArgs), startSequenceId As Long, endSequenceId As Long ) As ReturnCode
ReturnCode SendCacheRequest( long long requestId, ITopic^ topic, bool subscribe, CacheLiveDataAction liveDataAction, EventHandler<CacheRequestEventArgs^>^ cacheRequestListener, long long startSequenceId, long long endSequenceId )
Parameters
- requestId
- Type: SystemInt64
A positive Int64 that is returned to the application in the cache request response and is available in every cached message returned. - topic
- Type: SolaceSystems.Solclient.MessagingITopic
An ITopic instance representing the topic being requested from the cache. - subscribe
- Type: SystemBoolean
If true, send a subscription request to the appliance before sending a cache request to the cache. - liveDataAction
- Type: SolaceSystems.Solclient.Messaging.CacheCacheLiveDataAction
One of CacheLiveDataAction - cacheRequestListener
- Type: SystemEventHandlerCacheRequestEventArgs
Delegate for cache request completion - startSequenceId
- Type: SystemInt64
Starting sequence number for retrieved messages. If set to 0, then start at the oldest available message. If both sequence Id parameters are set to 0 then the most recent message is returned. - endSequenceId
- Type: SystemInt64
End sequence number for retrieved messages, if set to 0, then all available messages starting at startSequenceId are retrieved. If both sequence Id parameters are set to 0 then the most recent message is returned.
Return Value
Type: ReturnCodeSOLCLIENT_IN_PROGRESS, if buffering of the request was successful; SOLCLIENT_NOT_READY, if the underlying session is being connected or is disconnected
Exception | Condition |
---|---|
OperationErrorException | Thrown when the operation fails, see ErrorInfo for specific failure reason |
ObjectDisposedException | Thrown when the session is already disposed (terminal state). |
FatalErrorException | Thrown when an unrecoverable error occurs. |
ArgumentNullException | If any of the required arguments is null. |
ArgumentOutOfRangeException | If any of the arguments is out of range. |