/// <inheritdoc/> public override string ToString() { ITransportMetadata m = TransportMetadata; return('(' + m.ProviderName + ' ' + m.Name + " connector: " + "managedSessionCount: " + ManagedSessions.Count + ')'); }
public override async Task WriteData(ITransport transport, ITransportMetadata metadata, Action <IProtocolWriter> handler) { using (var buffer = new MemoryStream()) { if (this.CompressionEnabled) { using (var compressionStream = new System.IO.Compression.DeflateStream(buffer, System.IO.Compression.CompressionMode.Compress)) { var writer = new BinaryProtocolWriter(compressionStream); handler(writer); } } else { var writer = new BinaryProtocolWriter(buffer); handler(writer); buffer.Position = 0; } var data = buffer.ToArray(); await transport.Send(new TransportMessage(data, VolatileTransportMetadata.FromMetadata(metadata))); } }
public HandledRequestMessage(string actionName, ITransportMetadata metadata, IDictionary <string, object> arguments) { this.ActionName = actionName; this.Success = true; this.Metadata = metadata; this.Arguments = new ReadOnlyDictionary <string, object>(arguments); this.Result = null; this.Exception = null; }
public override async Task WriteData(ITransport transport, string messageId, ITransportMetadata metadata, Action <IProtocolWriter> handler) { using (var buffer = new MemoryStream()) { var writer = new MessagePackProtocolWriter(buffer); handler(writer); buffer.Position = 0; var data = buffer.ToArray(); await transport.Send(messageId, new TransportMessage(data, VolatileTransportMetadata.FromMetadata(metadata))); } }
/// <inheritdoc/> public override String ToString() { ITransportMetadata m = TransportMetadata; return('(' + m.ProviderName + ' ' + m.Name + " acceptor: " + (Active ? "localAddress(es): " + LocalEndPoints + ", managedSessionCount: " + ManagedSessions.Count : "not bound") + ')'); }
public override async Task WriteData(ITransport transport, ITransportMetadata metadata, CancellationToken cancellationToken, Action <IProtocolWriter> handler) { using (var buffer = new MemoryStream()) { if (this.Compress) { using (var gzip = new System.IO.Compression.DeflateStream(buffer, System.IO.Compression.CompressionMode.Compress)) { var writer = new EntanglementProtocolWriter(gzip); handler(writer); } } else { var writer = new EntanglementProtocolWriter(buffer); handler(writer); buffer.Position = 0; } var data = buffer.ToArray(); await transport.Send(new TransportMessage(data, VolatileTransportMetadata.FromMetadata(metadata)), cancellationToken); } }
/// <summary> /// </summary> public void SetTransportMetadata(ITransportMetadata metadata) { _transportMetadata = metadata; }
public override Task <Func <Func <IProtocolReader, ITransportMetadata, TResult>, Task <TResult> > > WriteAndReadData <TResult>(ITransport transport, ITransportMetadata metadata, CancellationToken cancellationToken, Action <IProtocolWriter> handler) { throw new NotImplementedException(); }
public override Task WriteData(ITransport transport, string messageId, ITransportMetadata metadata, CancellationToken cancellationToken, Action <IProtocolWriter> handler) { throw new NotImplementedException(); }
public override async Task <Func <Func <IProtocolReader, ITransportMetadata, TResult>, Task <TResult> > > WriteAndReadData <TResult>(ITransport transport, ITransportMetadata metadata, Action <IProtocolWriter> handler) { Func <Task <TransportMessage> > receiveHandler; using (var buffer = new MemoryStream()) { if (this.CompressionEnabled) { using (var compressionStream = new System.IO.Compression.DeflateStream(buffer, System.IO.Compression.CompressionMode.Compress)) { var writer = new BinaryProtocolWriter(compressionStream); handler(writer); } } else { var writer = new BinaryProtocolWriter(buffer); handler(writer); buffer.Position = 0; } var data = buffer.ToArray(); receiveHandler = await transport.SendAndReceive(new TransportMessage(data, VolatileTransportMetadata.FromMetadata(metadata))); } return(new Func <Func <IProtocolReader, ITransportMetadata, TResult>, Task <TResult> >(async(readHandler) => { var receivedData = await receiveHandler(); var buffer = new MemoryStream(receivedData.Payload); BinaryProtocolReader reader; if (this.CompressionEnabled) { var compressionStream = new System.IO.Compression.DeflateStream(buffer, System.IO.Compression.CompressionMode.Decompress); reader = new BinaryProtocolReader(compressionStream); } else { reader = new BinaryProtocolReader(buffer); } return readHandler(reader, receivedData.Metadata); })); }
public abstract Task <Func <Func <IProtocolReader, ITransportMetadata, TResult>, Task <TResult> > > WriteAndReadData <TResult>(ITransport transport, ITransportMetadata metadata, CancellationToken cancellationToken, Action <IProtocolWriter> handler);
public abstract Task WriteData(ITransport transport, string messageId, ITransportMetadata metadata, CancellationToken cancellationToken, Action <IProtocolWriter> handler);
public abstract Task WriteData(ITransport transport, ITransportMetadata metadata, Action <IProtocolWriter> handler);
public static TransportMetadata FromMetadata(ITransportMetadata source) { return(new TransportMetadata(source.Frames.Select(f => TransportMetadataFrame.FromMetadataFrame(f)).ToArray())); }
public static VolatileTransportMetadata FromMetadata(ITransportMetadata source) { return(new VolatileTransportMetadata(source.Frames.Select(f => VolatileTransportMetadataFrame.FromMetadataFrame(f)).ToList())); }
public override async Task <Func <Action <IProtocolReader, ITransportMetadata>, Task> > WriteAndReadData(ITransport transport, ITransportMetadata metadata, CancellationToken cancellationToken, Action <IProtocolWriter> handler) { Func <Task <TransportMessage> > receiveHandler; using (var buffer = new MemoryStream()) { if (this.Compress) { using (var gzip = new System.IO.Compression.DeflateStream(buffer, System.IO.Compression.CompressionMode.Compress)) { var writer = new EntanglementProtocolWriter(gzip); handler(writer); } } else { var writer = new EntanglementProtocolWriter(buffer); handler(writer); buffer.Position = 0; } var data = buffer.ToArray(); receiveHandler = await transport.SendAndReceive(new TransportMessage(data, VolatileTransportMetadata.FromMetadata(metadata)), cancellationToken); } return(new Func <Action <IProtocolReader, ITransportMetadata>, Task>(async(readHandler) => { var receivedData = await receiveHandler(); using (var buffer = new MemoryStream(receivedData.Payload)) { if (this.Compress) { using (var gzip = new System.IO.Compression.DeflateStream(buffer, System.IO.Compression.CompressionMode.Decompress)) { var reader = new EntanglementProtocolReader(gzip); readHandler(reader, receivedData.Metadata); } } else { var reader = new EntanglementProtocolReader(buffer); readHandler(reader, receivedData.Metadata); } } })); }
public abstract Task <Func <Action <IProtocolReader, ITransportMetadata>, Task> > WriteAndReadData(ITransport transport, ITransportMetadata metadata, Action <IProtocolWriter> handler);
public override async Task <Func <Func <IProtocolReader, ITransportMetadata, TResult>, Task <TResult> > > WriteAndReadData <TResult>(ITransport transport, ITransportMetadata metadata, Action <IProtocolWriter> handler) { Func <Task <TransportMessage> > receiveHandler; using (var buffer = new MemoryStream()) { var writer = new MessagePackProtocolWriter(buffer); handler(writer); buffer.Position = 0; var data = buffer.ToArray(); receiveHandler = await transport.SendAndReceive(new TransportMessage(data, VolatileTransportMetadata.FromMetadata(metadata))); } return(new Func <Func <IProtocolReader, ITransportMetadata, TResult>, Task <TResult> >(async(readHandler) => { var receivedData = await receiveHandler(); var buffer = new MemoryStream(receivedData.Payload); var reader = new MessagePackProtocolReader(buffer); return readHandler(reader, receivedData.Metadata); })); }