public static ICompletionPollingWaitStrategy Create(CompletionPollingWaitStrategyType waitStrategyType) { return(waitStrategyType switch { CompletionPollingWaitStrategyType.BusySpinWaitStrategy => new BusySpinCompletionPollingWaitStrategy(), CompletionPollingWaitStrategyType.SpinWaitWaitStrategy => new SpinWaitCompletionPollingWaitStrategy(new SpinWait()), _ => throw new ArgumentOutOfRangeException() });
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; }