protected IpcEndpoint(
     IpcEndpointOptions options,
     IServiceProvider serviceProvider,
     ILogger logger)
 {
     _options         = options ?? throw new ArgumentNullException(nameof(options));
     _serviceProvider = serviceProvider ?? throw new ArgumentNullException(nameof(serviceProvider));
     _logger          = logger ?? throw new ArgumentNullException(nameof(logger));
     _semaphore       = new SemaphoreSlim(options.MaxConcurrentCalls);
 }