void TransparentStreamCanSeekRequestMessageReceived(TransparentStreamMessageBase transparentStreamMessageBase) { TransparentStreamCanSeekRequestMessage request = (TransparentStreamCanSeekRequestMessage)transparentStreamMessageBase; Exception exception = null; bool canSeek = false; try { canSeek = baseStream.CanSeek; } catch (Exception ex) { exception = ex; } objectBusSession.SendMessage(new TransparentStreamCanSeekResponseMessage(streamID, request.ID, canSeek, exception)); }
public IAsyncResult BeginCanSeek () { TransparentStreamCanSeekRequestMessage request = new TransparentStreamCanSeekRequestMessage (Guid.NewGuid (), streamID); TransparentStreamAsyncResult result = new TransparentStreamAsyncResult (null); if (!pendingCanSeekRequests.TryAdd (request.ID, result)) { throw new Exception ("request failed before sending."); } objectBusSession.SendMessage (request); return result; }