/// <exception cref="System.Exception"></exception> public virtual T Peek(long timeout, TimeUnit unit) { var request = TransactionalQueuePeekCodec.EncodeRequest(GetName(), GetTransactionId(), GetThreadId(), unit.ToMillis(timeout)); var result = Invoke(request, m => TransactionalQueuePeekCodec.DecodeResponse(m).response); return ToObject<T>(result); }
public async Task <TItem> TryPeekAsync(TimeSpan timeToWait) { var timeToWaitMilliseconds = timeToWait.TimeoutMilliseconds(0); var requestMessage = TransactionalQueuePeekCodec.EncodeRequest(Name, TransactionId, ContextId, timeToWaitMilliseconds); var responseMessage = await Cluster.Messaging.SendToMemberAsync(requestMessage, TransactionClientConnection).CAF(); var response = TransactionalQueuePeekCodec.DecodeResponse(responseMessage).Response; return(ToObject <TItem>(response)); }
public async Task <TItem> PeekAsync(TimeSpan timeToWait = default) { // codec wants -1 for infinite, 0 for zero var timeToWaitMs = timeToWait.RoundedMilliseconds(); var requestMessage = TransactionalQueuePeekCodec.EncodeRequest(Name, TransactionId, ContextId, timeToWaitMs); var responseMessage = await Cluster.Messaging.SendToMemberAsync(requestMessage, TransactionClientConnection).CfAwait(); var response = TransactionalQueuePeekCodec.DecodeResponse(responseMessage).Response; return(ToObject <TItem>(response)); }