public override IAsyncResult BeginFlush(AsyncCallback callback, Object state) { // Extract request and reset buffer var data = outputStream.ToArray(); //requestBuffer_ = new MemoryStream(); try { // Create connection object var flushAsyncResult = new FlushAsyncResult(callback, state) { Connection = CreateRequest(), Data = data }; flushAsyncResult.Connection.BeginGetRequestStream(GetRequestStreamCallback, flushAsyncResult); return(flushAsyncResult); } catch (IOException iox) { throw new TTransportException(iox.ToString(), iox); } }
private void beginFlush_Completed(object sender, SocketAsyncEventArgs e) { FlushAsyncResult flushAsyncResult = e.UserToken as FlushAsyncResult; flushAsyncResult.UpdateStatusToComplete(); flushAsyncResult.NotifyCallbackWhenAvailable(); if (e.SocketError != SocketError.Success) { throw new TTransportException(TTransportException.ExceptionType.Unknown, e.SocketError.ToString()); } }
public override IAsyncResult BeginFlush(AsyncCallback callback, object state) { // Extract request and reset buffer byte[] data = outputStream.ToArray(); FlushAsyncResult flushAsyncResult = new FlushAsyncResult(callback, state); SocketAsyncEventArgs socketEventArg = new SocketAsyncEventArgs(); socketEventArg.RemoteEndPoint = socket.RemoteEndPoint; socketEventArg.UserToken = flushAsyncResult; socketEventArg.Completed += beginFlush_Completed; socketEventArg.SetBuffer(data, 0, data.Length); socket.SendAsync(socketEventArg); return(flushAsyncResult); }
public override IAsyncResult BeginFlush(AsyncCallback callback, object state) { // Extract request and reset buffer var data = outputStream.ToArray(); //requestBuffer_ = new MemoryStream(); try { // Create connection object var flushAsyncResult = new FlushAsyncResult(callback, state); flushAsyncResult.Connection = CreateRequest(); flushAsyncResult.Data = data; flushAsyncResult.Connection.BeginGetRequestStream(GetRequestStreamCallback, flushAsyncResult); return flushAsyncResult; } catch (IOException iox) { throw new TTransportException(iox.ToString()); } }
public override IAsyncResult BeginFlush(AsyncCallback callback, object state) { // Extract request and reset buffer byte[] data = outputStream.ToArray(); FlushAsyncResult flushAsyncResult = new FlushAsyncResult(callback, state); SocketAsyncEventArgs socketEventArg = new SocketAsyncEventArgs(); socketEventArg.RemoteEndPoint = socket.RemoteEndPoint; socketEventArg.UserToken = flushAsyncResult; socketEventArg.Completed += beginFlush_Completed; socketEventArg.SetBuffer(data, 0, data.Length); socket.SendAsync(socketEventArg); return flushAsyncResult; }