public void LargeSendStream() { var callback = new ClientCallbackService(); var configuration = new ProtoClientConfiguration { CallbackObject = callback }; using (var host = new ProtoHost<ServerService>(new IPEndPoint(IPAddress.Loopback, 0))) using (var client = new ClientService(host.LocalEndPoint, configuration)) { int streamId = client.SendStream( new MemoryStream(new byte[1 << 20]), "Payload.txt", "text/plain" ); client.StreamUpload(new StreamResponse { StreamId = (uint)streamId }); Assert.True(callback.CallbackReceivedEvent.WaitOne(TimeSpan.FromSeconds(1))); } }
private void SendWithStreamFailure(long length, StreamFailureType type, bool expectFailure) { var callback = new ClientCallbackService(); var configuration = new ProtoClientConfiguration { CallbackObject = callback }; using (var host = new ProtoHost<ServerService>(new IPEndPoint(IPAddress.Loopback, 0))) using (var client = new ClientService(host.LocalEndPoint, configuration)) { int streamId = client.SendStream( new FailingStream(length, type), "Payload.txt", "text/plain" ); client.StreamUpload(new StreamResponse { StreamId = (uint)streamId }); Assert.True(callback.CallbackReceivedEvent.WaitOne(TimeSpan.FromSeconds(1))); if (expectFailure) Assert.AreEqual("Receive stream failed", callback.OneWayPingPayload); else Assert.AreNotEqual("Receive stream failed", callback.OneWayPingPayload); } }
private void SendStream(StreamDisposition disposition) { var callback = new ClientCallbackService(); var configuration = new ProtoClientConfiguration { CallbackObject = callback }; using (var host = new ProtoHost<ServerService>(new IPEndPoint(IPAddress.Loopback, 0))) using (var client = new ClientService(host.LocalEndPoint, configuration)) { int streamId = client.SendStream( new MemoryStream(Encoding.UTF8.GetBytes("Payload")), "Payload.txt", "text/plain", disposition ); client.StreamUpload(new StreamResponse { StreamId = (uint)streamId }); Assert.True(callback.CallbackReceivedEvent.WaitOne(TimeSpan.FromSeconds(1))); Assert.True(callback.OneWayPingPayload.Contains(disposition.ToString())); } }