public ILinkConsumerBuilder Queue(LinkConsumerTopologyConfigDelegate config, LinkTopologyErrorDelegate error)
        {
            if (config == null)
            {
                throw new ArgumentNullException(nameof(config));
            }

            if (error == null)
            {
                throw new ArgumentNullException(nameof(error));
            }

            return(Queue(new LinkConsumerTopologyHandler(config, error)));
        }
 public ILinkPullConsumerBuilder Queue(LinkConsumerTopologyConfigDelegate config,
                                       LinkTopologyErrorDelegate error)
 {
     return(new LinkPullConsumerBuilder(this, consumerBuilder: _consumerBuilder.Queue(config, error)));
 }
 public ILinkConsumerBuilder Queue(LinkConsumerTopologyConfigDelegate config)
 {
     return(Queue(config, ex => Task.CompletedTask));
 }
 public LinkConsumerTopologyHandler(LinkConsumerTopologyConfigDelegate configAction,
                                    LinkTopologyErrorDelegate errorAction)
 {
     _configAction = configAction ?? throw new ArgumentNullException(nameof(configAction));
     _errorAction  = errorAction ?? throw new ArgumentNullException(nameof(errorAction));
 }