public static Action <MemoryMappedViewStream> Wrap(SynchronousReadingDelegate externalDelegate) { return((MemoryMappedViewStream stream) => externalDelegate?.Invoke(stream.AsRandomAccessStream())); }
/// <summary> /// Reads and removes a message from the queue. This method is thread-safe. /// </summary> /// <param name="readingDelegate">Custom delegate to read using message's stream.</param> /// <param name="timeout">Operation timeout.</param> /// <returns> /// ChannelStateOperationResult with ChannelState and OperationStatus.Completed, OperationStatus.QueueIsEmpty, OperationStatus.Timeout, /// OperationStatus.DelegateFailed, OperationStatus.RequestedLengthIsGreaterThanLogicalAddressSpace, or OperationStatus.RequestedLengthIsGreaterThanVirtualAddressSpace. /// </returns> public ChannelStateOperationResult Read(SynchronousReadingDelegate readingDelegate, TimeSpan timeout) { return(new ChannelStateOperationResult(_internal.Read(DelegateHelper.Wrap(readingDelegate), timeout))); }