Пример #1
0
        private SaeaPoolWrapper CreateSocketReceiveAsyncEventArgsPoolWrapper()
        {
            SocketAsyncEventArgs readEventArgs = new SocketAsyncEventArgs();
            readEventArgs.Completed += OnReceiveCompleted;

            var buffer = new byte[SocketBufferSize];

            // SocketAsyncEventArgs and ReceiveCallbackContext's buffer shares the same buffer list with pinned arrays.
            readEventArgs.SetBuffer(buffer, 0, buffer.Length);
            var poolWrapper = new SaeaPoolWrapper(readEventArgs);

            // Creates with incomplete state: IMA should be set before using
            readEventArgs.UserToken = new ReceiveCallbackContext(poolWrapper, this.MessageFactory, this.serializationManager, this.loggerFactory);
            allocatedSocketEventArgsCounter.Increment();
            return poolWrapper;
        }
Пример #2
0
 public ReceiveCallbackContext(SaeaPoolWrapper poolWrapper, MessageFactory messageFactory, SerializationManager serializationManager, ILoggerFactory loggerFactory)
 {
     this.messageFactory = messageFactory;
     SaeaPoolWrapper     = poolWrapper;
     _buffer             = new IncomingMessageBuffer(loggerFactory, serializationManager);
 }
Пример #3
0
 public ReceiveCallbackContext(SaeaPoolWrapper poolWrapper, MessageFactory messageFactory, SerializationManager serializationManager)
 {
     this.messageFactory = messageFactory;
     SaeaPoolWrapper     = poolWrapper;
     _buffer             = new IncomingMessageBuffer(LogManager.GetLogger(nameof(IncomingMessageBuffer), LoggerType.Runtime), serializationManager);
 }
Пример #4
0
 public ReceiveCallbackContext(SaeaPoolWrapper poolWrapper)
 {
     SaeaPoolWrapper = poolWrapper;
     _buffer         = new IncomingMessageBuffer(LogManager.GetLogger(nameof(IncomingMessageBuffer), LoggerType.Runtime));
 }