void TransparentStreamCanWriteRequestMessageReceived(TransparentStreamMessageBase transparentStreamMessageBase) { TransparentStreamCanWriteRequestMessage request = (TransparentStreamCanWriteRequestMessage)transparentStreamMessageBase; Exception exception = null; bool canWrite = false; try { canWrite = baseStream.CanWrite; } catch (Exception ex) { exception = ex; } objectBusSession.SendMessage(new TransparentStreamCanWriteResponseMessage(streamID, request.ID, canWrite, exception)); }
public IAsyncResult BeginCanWrite () { TransparentStreamCanWriteRequestMessage request = new TransparentStreamCanWriteRequestMessage (Guid.NewGuid (), streamID); TransparentStreamAsyncResult result = new TransparentStreamAsyncResult (null); if (!pendingCanWriteRequests.TryAdd (request.ID, result)) { throw new Exception ("request failed before sending."); } objectBusSession.SendMessage (request); return result; }