Пример #1
0
 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;
 }
Пример #4
0
 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;
 }
Пример #5
0
        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
                };
            }
        }
Пример #6
0
        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)
                };
            }
        }