Пример #1
0
        public PubSubAdapter(
            TDataAdapter dataAdapter,
            ILoggerFactory loggerFactory,
            HashRingBasedStreamQueueMapper streamQueueMapper,
            string projectId,
            string topicId,
            string serviceId,
            string providerName,
            TimeSpan?deadline     = null,
            string customEndpoint = "")
        {
            if (string.IsNullOrEmpty(projectId))
            {
                throw new ArgumentNullException(nameof(projectId));
            }
            if (string.IsNullOrEmpty(topicId))
            {
                throw new ArgumentNullException(nameof(topicId));
            }
            if (string.IsNullOrEmpty(serviceId))
            {
                throw new ArgumentNullException(nameof(serviceId));
            }

            _logger            = loggerFactory.CreateLogger($"{this.GetType().FullName}.{providerName}");
            this.loggerFactory = loggerFactory;
            ProjectId          = projectId;
            TopicId            = topicId;
            ServiceId          = serviceId;
            Name               = providerName;
            Deadline           = deadline;
            _streamQueueMapper = streamQueueMapper;
            _dataAdapter       = dataAdapter;
            _customEndpoint    = customEndpoint;
        }
Пример #2
0
        public static IQueueAdapterReceiver Create(ILoggerFactory loggerFactory, QueueId queueId, string projectId, string topicId,
                                                   string serviceId, IPubSubDataAdapter dataAdapter, TimeSpan?deadline = null, string customEndpoint = "")
        {
            if (queueId == null)
            {
                throw new ArgumentNullException(nameof(queueId));
            }
            if (dataAdapter == null)
            {
                throw new ArgumentNullException(nameof(dataAdapter));
            }

            var pubSub = new PubSubDataManager(loggerFactory, projectId, topicId, queueId.ToString(), serviceId, deadline, customEndpoint);

            return(new PubSubAdapterReceiver(loggerFactory, queueId, topicId, pubSub, dataAdapter));
        }
Пример #3
0
        public static IQueueAdapterReceiver Create(SerializationManager serializationManager, Logger baseLogger, QueueId queueId, string projectId, string topicId,
                                                   string deploymentId, IPubSubDataAdapter dataAdapter, TimeSpan?deadline = null, string customEndpoint = "")
        {
            if (queueId == null)
            {
                throw new ArgumentNullException(nameof(queueId));
            }
            if (dataAdapter == null)
            {
                throw new ArgumentNullException(nameof(dataAdapter));
            }
            if (serializationManager == null)
            {
                throw new ArgumentNullException(nameof(serializationManager));
            }

            var pubSub = new PubSubDataManager(baseLogger, projectId, topicId, queueId.ToString(), deploymentId, deadline, customEndpoint);

            return(new PubSubAdapterReceiver(serializationManager, baseLogger, queueId, pubSub, dataAdapter));
        }
Пример #4
0
        private PubSubAdapterReceiver(ILoggerFactory loggerFactory, QueueId queueId, string topicId, PubSubDataManager pubSub, IPubSubDataAdapter dataAdapter)
        {
            if (queueId == null)
            {
                throw new ArgumentNullException(nameof(queueId));
            }
            Id = queueId;
            if (pubSub == null)
            {
                throw new ArgumentNullException(nameof(pubSub));
            }
            _pubSub = pubSub;

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

            _logger  = loggerFactory.CreateLogger($"{this.GetType().FullName}.{topicId}.{queueId}");
            _pending = new List <PendingDelivery>();
        }
Пример #5
0
        private PubSubAdapterReceiver(SerializationManager serializationManager, Logger baseLogger, QueueId queueId, PubSubDataManager pubSub, IPubSubDataAdapter dataAdapter)
        {
            if (queueId == null)
            {
                throw new ArgumentNullException(nameof(queueId));
            }
            Id = queueId;
            _serializationManager = serializationManager;
            if (pubSub == null)
            {
                throw new ArgumentNullException(nameof(pubSub));
            }
            _pubSub = pubSub;

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

            _logger  = baseLogger.GetSubLogger(GetType().Name);
            _pending = new List <PendingDelivery>();
        }
Пример #6
0
        public PubSubAdapter(
            TDataAdapter dataAdapter,
            SerializationManager serializationManager,
            Logger logger,
            HashRingBasedStreamQueueMapper streamQueueMapper,
            string projectId,
            string topicId,
            string deploymentId,
            string providerName,
            TimeSpan?deadline     = null,
            string customEndpoint = "")
        {
            if (string.IsNullOrEmpty(projectId))
            {
                throw new ArgumentNullException(nameof(projectId));
            }
            if (string.IsNullOrEmpty(topicId))
            {
                throw new ArgumentNullException(nameof(topicId));
            }
            if (string.IsNullOrEmpty(deploymentId))
            {
                throw new ArgumentNullException(nameof(deploymentId));
            }

            _logger = logger;
            _serializationManager = serializationManager;
            ProjectId             = projectId;
            TopicId            = topicId;
            DeploymentId       = deploymentId;
            Name               = providerName;
            Deadline           = deadline;
            _streamQueueMapper = streamQueueMapper;
            _dataAdapter       = dataAdapter;
            _customEndpoint    = customEndpoint;
        }