/// <summary> /// Initializes a new instance of <see cref="NetMQTransport"/> /// </summary> /// <param name="factory"></param> /// <param name="requestRouter"></param> /// <param name="receiverCache"></param> /// <param name="topicRouter"></param> /// <param name="publisherCache"></param> /// <returns></returns> public static NetMQTransport Create( INetMQFactory factory, IRequestRouter requestRouter, IReceiverCache receiverCache, ITopicRouter topicRouter, IPublisherCache publisherCache ) => new NetMQTransport(factory, requestRouter, receiverCache, topicRouter, publisherCache);
public void Setup() { factory = mockFactory.Object; requestRouter = mockRequestRouter.Object; topicRouter = mockTopicRouter.Object; receiverCache = mockReceiverCache.Object; publisherCache = mockPublisherCache.Object; }
/// <summary> /// Initializes a new instance of <see cref="NetMQTransport"/> /// </summary> /// <param name="factory"></param> /// <param name="requestRouter"></param> /// <param name="receiverCache"></param> /// <param name="topicRouter"></param> /// <param name="publisherCache"></param> private NetMQTransport( INetMQFactory factory, IRequestRouter requestRouter, IReceiverCache receiverCache, ITopicRouter topicRouter, IPublisherCache publisherCache) { this.factory = factory ?? throw new ArgumentNullException(nameof(factory)); Configurer = new TransportSetup <INetMQSender, INetMQReceiver, INetMQPublisher, INetMQSubscriber>(requestRouter, receiverCache, topicRouter, publisherCache); }
/// <summary> /// Initializes a new instance of <see cref="NetMQTransport"/> /// </summary> /// <param name="container"><see cref="IContainer"/> to resolve and wire up dependencies</param> public NetMQTransport(IContainer container) { if (container is null) { throw new ArgumentNullException(nameof(container)); } container.Register <INetMQMessageFactory, NetMQMessageFactory>(true); container.Register <INetMQPoller, NetMQPoller>(true); container.Register <INetMQMonitor, NetMQMonitor>(true); container.Register <INetMQFactory, NetMQFactory>(true); factory = container.Resolve <INetMQFactory>(); Configurer = container.Resolve <TransportSetup <INetMQSender, INetMQReceiver, INetMQPublisher, INetMQSubscriber> >(); }
/// <summary> /// Initializes a new instance of <see cref="NetMQTransport"/> /// </summary> /// <param name="builder"></param> /// <param name="factory"></param> /// <returns></returns> public static NetMQTransport FromBuilder(Builder builder, INetMQFactory factory) => new NetMQTransport(factory, builder.RequestRouter, builder.ReceiverCache, builder.TopicRouter, builder.PublisherCache);