public Session(int sessionId, ZerioConfiguration configuration, CompletionQueues completionQueues) { Id = sessionId; _configuration = configuration; _completionQueues = completionQueues; _receivingBuffer = new UnmanagedRioBuffer <RioBufferSegment>(configuration.ReceivingBufferCount, _configuration.ReceivingBufferLength); _messageFramer = new MessageFramer(configuration.FramingBufferLength); _messageFramer.MessageFramed += OnMessageFramed; }
public Session(int sessionId, InternalZerioConfiguration configuration, CompletionQueues completionQueues) { Id = sessionId; _configuration = configuration; _completionQueues = completionQueues; _receivingBuffer = new UnmanagedRioBuffer <RioBufferSegment>(configuration.ReceivingBufferCount, _configuration.ReceivingBufferLength); _messageFramer = new MessageFramer(configuration.FramingBufferLength); _messageFramer.MessageFramed += OnMessageFramed; SendingBatch = new SessionSendingBatch(configuration.SendingBufferLength); Conflater = new SendingRequestConflater(sessionId, configuration.SendingBufferLength); }
public RioSession(int sessionId, ISessionConfiguration configuration, RioCompletionQueue sendingCompletionQueue, RioCompletionQueue receivingCompletionQueue, SerializationEngine serializationEngine) { Id = sessionId; _configuration = configuration; _sendingCompletionQueue = sendingCompletionQueue; _receivingCompletionQueue = receivingCompletionQueue; _sendingBufferManager = RioBufferManager.Allocate(configuration.SendingBufferCount, _configuration.SendingBufferLength); _receivingBufferManager = RioBufferManager.Allocate(configuration.ReceivingBufferCount, _configuration.ReceivingBufferLength); _messageFramer = new MessageFramer(_receivingBufferManager); _threadLocalReceivingContext = new ThreadLocal <ReceivingContext>(() => new ReceivingContext(serializationEngine.Encoding)); _threadLocalSendingContext = new ThreadLocal <SendingContext>(() => new SendingContext(configuration, _sendingBufferManager, serializationEngine.Encoding)); _serializationEngine = serializationEngine; }