public static ICompletionPollingWaitStrategy Create(CompletionPollingWaitStrategyType waitStrategyType)
 {
     return(waitStrategyType switch
     {
         CompletionPollingWaitStrategyType.BusySpinWaitStrategy => new BusySpinCompletionPollingWaitStrategy(),
         CompletionPollingWaitStrategyType.SpinWaitWaitStrategy => new SpinWaitCompletionPollingWaitStrategy(new SpinWait()),
         _ => throw new ArgumentOutOfRangeException()
     });
Beispiel #2
0
        protected ZerioConfiguration()
        {
            BatchSendRequests = true;
            ConflateSendRequestsOnProcessing = true;
            ConflateSendRequestsOnEnqueuing  = true;

            MaxConflatedSendRequestCount = 8;
            MaxSendBatchSize             = 8;
            SendingBufferLength          = 4096;
            SendingBufferCount           = 64 * 1024;

            FramingBufferLength   = 64 * 1024;
            ReceivingBufferLength = 64 * 1024;
            ReceivingBufferCount  = 256;

            RequestEngineWaitStrategyType            = RequestEngineWaitStrategyType.BusySpinWaitStrategy;
            ReceiveCompletionPollingWaitStrategyType = CompletionPollingWaitStrategyType.BusySpinWaitStrategy;
            SendCompletionPollingWaitStrategyType    = CompletionPollingWaitStrategyType.BusySpinWaitStrategy;
        }