void m_Session_DataReceived(object sender, DataEventArgs e) { var result = PipeLineProcessor.Process(new ArraySegment<byte>(e.Data, e.Offset, e.Length), this as IBufferState); // allocate new receive buffer if the previous one was cached if (result.State == ProcessState.Cached) { var session = m_Session; if (session != null) { var bufferSetter = session as IBufferSetter; if (bufferSetter != null) { bufferSetter.SetBuffer(new ArraySegment<byte>(new byte[session.ReceiveBufferSize])); } } } }
void client_DataReceived(object sender, DataEventArgs e) { OnDataReceived(e.Data, e.Offset, e.Length); }
void m_Session_DataReceived(object sender, DataEventArgs e) { PipeLineProcessor.Process(new ArraySegment<byte>(e.Data, e.Offset, e.Length), this as IBufferState); }
void OnSessionDataReceived(object sender, DataEventArgs e) { var result = PipeLineProcessor.Process(new ArraySegment<byte>(e.Data, e.Offset, e.Length)); if (result.State == ProcessState.Error) { m_Session.Close(); return; } else if (result.State == ProcessState.Cached) { // allocate new receive buffer if the previous one was cached var session = m_Session; if (session != null) { var bufferSetter = session as IBufferSetter; if (bufferSetter != null) { bufferSetter.SetBuffer(new ArraySegment<byte>(new byte[session.ReceiveBufferSize])); } } } if (result.Packages != null && result.Packages.Count > 0) { foreach (var item in result.Packages) { HandlePackage(item); } } }
private static void ClientSession_DataReceived(object sender, DataEventArgs e) { Interlocked.Increment(ref _sendedBlockCount); }