public T Take() { var request = TransactionalQueueTakeCodec.EncodeRequest(Name, GetTransactionId(), GetThreadId()); var result = Invoke(request, m => TransactionalQueueTakeCodec.DecodeResponse(m).Response); return(ToObject <T>(result)); }
public async Task <TItem> TakeAsync() { var requestMessage = TransactionalQueueTakeCodec.EncodeRequest(Name, TransactionId, ContextId); var responseMessage = await Cluster.Messaging.SendToMemberAsync(requestMessage, TransactionClientConnection).CfAwait(); var response = TransactionalQueueTakeCodec.DecodeResponse(responseMessage).Response; return(ToObject <TItem>(response)); }