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; }
public ReceiveCallbackContext(SaeaPoolWrapper poolWrapper, MessageFactory messageFactory, SerializationManager serializationManager, ILoggerFactory loggerFactory) { this.messageFactory = messageFactory; SaeaPoolWrapper = poolWrapper; _buffer = new IncomingMessageBuffer(loggerFactory, serializationManager); }
public ReceiveCallbackContext(SaeaPoolWrapper poolWrapper, MessageFactory messageFactory, SerializationManager serializationManager) { this.messageFactory = messageFactory; SaeaPoolWrapper = poolWrapper; _buffer = new IncomingMessageBuffer(LogManager.GetLogger(nameof(IncomingMessageBuffer), LoggerType.Runtime), serializationManager); }
public ReceiveCallbackContext(SaeaPoolWrapper poolWrapper) { SaeaPoolWrapper = poolWrapper; _buffer = new IncomingMessageBuffer(LogManager.GetLogger(nameof(IncomingMessageBuffer), LoggerType.Runtime)); }