Exemple #1
0
        public static async Task PublishAsync <T>(this IGatePublisher gatePublisher, string topicName, T gateMessage, CancellationToken cancellationToken)
        {
            topicName = topicName ?? throw new ArgumentNullException(nameof(topicName));

            var message = Serializer.Serialize(gateMessage);

            await gatePublisher.PublishAsync(topicName, message, cancellationToken);
        }
Exemple #2
0
 public PublisherController(IGatePublisher gatePublisher,
                            IOptions <SidecarOptions> options,
                            ILogger <PublisherController> logger)
 {
     _gatePublisher = gatePublisher ?? throw new ArgumentNullException(nameof(gatePublisher));
     _options       = options.Value;
     _logger        = logger ?? throw new ArgumentNullException(nameof(logger));
 }
Exemple #3
0
        public static async Task <TRes> RequestAsync <TReq, TRes>(this IGatePublisher gatePublisher, string serviceName, string topicName, TReq gateRequest,
                                                                  int requestTimeoutInSeconds,
                                                                  CancellationToken cancellationToken)
        {
            serviceName = serviceName ?? throw new ArgumentNullException(nameof(serviceName));
            topicName   = topicName ?? throw new ArgumentNullException(nameof(topicName));

            var message = Serializer.Serialize(gateRequest);

            var reply = await gatePublisher.RequestAsync(serviceName, topicName, message, requestTimeoutInSeconds, cancellationToken);

            return(Serializer.Deserialize <TRes>(reply));
        }