protected ConnectionBase(Socket socket, OperationAsyncState asyncState, IByteConverter converter, BufferManager bufferManager) { _socket = socket; _state = asyncState; _converter = converter; BufferManager = bufferManager; }
public ConnectionBase(Socket socket, OperationAsyncState asyncState, IByteConverter converter, BufferAllocator bufferAllocator) { _socket = socket; _state = asyncState; Converter = converter; BufferAllocator = bufferAllocator; EndPoint = socket.RemoteEndPoint; }
protected ConnectionBase(Socket socket, OperationAsyncState asyncState, IByteConverter converter, BufferManager bufferManager, IPEndPoint endPoint) { _socket = socket; _state = asyncState; Converter = converter; BufferManager = bufferManager; EndPoint = endPoint; }
public ConnectionBase(Socket socket, OperationAsyncState asyncState, IByteConverter converter, BufferAllocator bufferAllocator) { _socket = socket; _state = asyncState; Converter = converter; BufferAllocator = bufferAllocator; EndPoint = socket.RemoteEndPoint; LocalEndPoint = socket.LocalEndPoint; MustEnableServerFeatures = true; }
protected static void CreateBody(OperationAsyncState state) { var buffer = state.Data.GetBuffer(); if (buffer.Length > 0) { state.Body = new OperationBody { Extras = state.Header.ExtrasLength > 0 ? new ArraySegment <byte>(buffer, OperationBase <object> .HeaderLength, state.Header.ExtrasLength).Array : new ArraySegment <byte>().Array, Data = new ArraySegment <byte>(buffer, state.Offset, state.Header.BodyLength - state.Header.ExtrasLength).Array }; } }
protected void CreateHeader(OperationAsyncState state) { var buffer = state.Data.GetBuffer(); if (buffer.Length > 0) { state.Header = new OperationHeader { Magic = _converter.ToByte(buffer, HeaderIndexFor.Magic), OperationCode = _converter.ToByte(buffer, HeaderIndexFor.Opcode).ToOpCode(), KeyLength = _converter.ToInt16(buffer, HeaderIndexFor.KeyLength), ExtrasLength = _converter.ToByte(buffer, HeaderIndexFor.ExtrasLength), Status = (ResponseStatus)_converter.ToInt16(buffer, HeaderIndexFor.Status), BodyLength = _converter.ToInt32(buffer, HeaderIndexFor.Body), Opaque = _converter.ToUInt32(buffer, HeaderIndexFor.Opaque), Cas = _converter.ToUInt64(buffer, HeaderIndexFor.Cas) }; } }