Example #1
0
        /// <summary>
        /// Устанавливает конечную точку обратного вызова для получения ответных сообщений.
        /// </summary>
        /// <param name="callbackEndpointBuilder">Построитель конечной точки для ответных сообщений.</param>
        /// <returns>Конфигурация отправителя.</returns>
        public ISenderConfigurator WithCallbackEndpoint(Func <ISubscriptionEndpointBuilder, ISubscriptionEndpoint> callbackEndpointBuilder)
        {
            IReceiverConfigurator configurator = new ReceiverConfiguration(MessageLabel.Any, this.receiverOptions).WithEndpoint(callbackEndpointBuilder);

            this.CallbackConfiguration = (IReceiverConfiguration)configurator;

            return(this);
        }
Example #2
0
        protected Receiver CreateReceiver(ReceiverConfiguration config)
        {
            Receiver receiver = null;

            RunStep(() => receiver = Client.CreateReceiver(config), "Create Receiver");
            DoRequestDelay();
            return(receiver);
        }
Example #3
0
        /// <summary>
        /// The with qo s.
        /// </summary>
        /// <param name="builder">
        /// The builder.
        /// </param>
        /// <param name="qosParams">
        /// The qos params.
        /// </param>
        /// <typeparam name="T">
        /// </typeparam>
        /// <returns>
        /// The <see cref="IReceiverConfigurator"/>.
        /// </returns>
        public static IReceiverConfigurator <T> WithQoS <T>(this IReceiverConfigurator <T> builder, QoSParams qosParams) where T : class
        {
            ReceiverConfiguration configuration = ((TypedReceiverConfigurationDecorator <T>)builder).Configuration;

            WithQoS(configuration, qosParams);

            return(builder);
        }
Example #4
0
        /// <summary>
        /// Overrides the callback configuration connection string with <paramref name="url"/>
        /// since the callback configuration may contain a list of connection strings for sharding support.
        /// </summary>
        /// <param name="url">The connection string URL</param>
        /// <returns>The reply receiver configuration</returns>
        private ReceiverConfiguration CreateCallbackReceiverConfiguration(string url)
        {
            var callbackConfiguration = new ReceiverConfiguration(
                MessageLabel.Any,
                this.Configuration.CallbackConfiguration.Options);

            callbackConfiguration.WithConnectionString(url);
            return(callbackConfiguration);
        }
        public void DeleteReceiverTest()
        {
            Receiver receiver            = null;
            ReceiverConfiguration config = null;
            bool isReceiverDeleted       = false;
            bool isReceiverCreated       = false;

            RunTest(() =>
            {
                ReceiverServiceCapabilities capabilities = GetServiceCapabilities();

                Assert(capabilities != null, "No capabilities returned", "Check that capabilities were returned");

                var receivers = GetReceivers();

                Assert(receivers != null, "No receivers returned", "Check that receivers list is not empty");

                int count = capabilities.SupportedReceivers - receivers.Length;

                if (count > 0)
                {
                    config            = GetReceiverConfiguration();
                    receiver          = CreateReceiver(config);
                    isReceiverCreated = true;
                    CheckReceiverConfiguration(receiver, config);
                }
                else
                {
                    receiver = receivers[0];
                }

                var token = receiver.Token;

                DeleteReceiver(token);
                isReceiverDeleted = true;

                receivers = GetReceivers();

                receiver = null;
                if (receivers != null)
                {
                    receiver = receivers.FirstOrDefault(r => r.Token == token);
                }

                Assert(receiver == null, "Receiver list contains receiver deleted", "Check that receiver list doesn't contain receiver deleted");

                this.InvalidTokenTestBody <object>((s, T) => Client.GetReceiver(s), null,
                                                   RunStep, "Try to get Receiver deleted", token, OnvifFaults.NotFound);
            }, () =>
            {
                if (!isReceiverDeleted && isReceiverCreated && receiver != null)
                {
                    DeleteReceiver(receiver.Token);
                }
            });
        }
Example #6
0
        /// <summary>
        /// The on.
        /// </summary>
        /// <param name="label">
        /// The label.
        /// </param>
        /// <returns>
        /// The <see cref="IReceiverConfigurator"/>.
        /// </returns>
        /// <exception cref="ArgumentException">
        /// </exception>
        public IReceiverConfigurator On(MessageLabel label)
        {
            if (this.HasRegisteredConsumerFor(label))
            {
                throw new ArgumentException(string.Format("Receiver for label [{0}] already registered.", label), "label");
            }

            var configuration = new ReceiverConfiguration(label, this.ReceiverDefaults);

            this.receiverConfigurations.Add(configuration);

            return(configuration);
        }
Example #7
0
        /// <summary>
        /// The on.
        /// </summary>
        /// <param name="label">
        /// The label.
        /// </param>
        /// <returns>
        /// The <see cref="IReceiverConfigurator"/>.
        /// </returns>
        /// <exception cref="ArgumentException">
        /// Raises an error if a receiver for <paramref name="label"/> has already been registered
        /// </exception>
        public IReceiverConfigurator On(MessageLabel label)
        {
            if (this.HasRegisteredConsumerFor(label))
            {
                throw new ArgumentException($"Receiver for label [{label}] is already registered", nameof(label));
            }

            var configuration = new ReceiverConfiguration(label, this.ReceiverDefaults);

            this.receiverConfigurations.Add(configuration);

            return(configuration);
        }
Example #8
0
        private ReceiverConfiguration GetReceiverConfiguration()
        {
            var receiverConfiguration = new ReceiverConfiguration()
            {
                MediaUri    = "http://localhost/Valid/URI",
                Mode        = ReceiverMode.NeverConnect,
                StreamSetup = new StreamSetup()
                {
                    Stream    = StreamType.RTPUnicast,
                    Transport = new Transport()
                    {
                        Protocol = TransportProtocol.UDP
                    }
                }
            };

            return(receiverConfiguration);
        }
Example #9
0
        public void CheckReceiverConfiguration(Receiver receiver, ReceiverConfiguration config, string responseType)
        {
            var           receiverConfiguration = receiver.Configuration;
            bool          ok     = true;
            StringBuilder logger = new StringBuilder();

            //bool local = true;
            //if (receiverConfiguration.Mode != config.Mode)
            //{
            //    logger.AppendFormat("");
            //}
            ok &= receiverConfiguration.Mode == config.Mode;
            ok &= receiverConfiguration.MediaUri == config.MediaUri;
            ok &= receiverConfiguration.StreamSetup.Transport.Protocol == config.StreamSetup.Transport.Protocol;
            ok &= receiverConfiguration.StreamSetup.Stream == config.StreamSetup.Stream;

            Assert(ok,
                   string.Format("Receiver parameters of receiver in {0} is not coincide with specified parameters", responseType),
                   "Check parameters of receiver created");
        }
Example #10
0
        /// <summary>
        /// The on.
        /// </summary>
        /// <param name="label">
        /// The label.
        /// </param>
        /// <returns>
        /// The <see cref="IReceiverConfigurator"/>.
        /// </returns>
        /// <exception cref="ArgumentException">
        /// Raises an error if a receiver for <paramref name="label"/> has already been registered
        /// </exception>
        public IReceiverConfigurator On(MessageLabel label)
        {
            if (this.HasRegisteredConsumerFor(label))
            {
                throw new ArgumentException($"Receiver for label [{label}] is already registered", nameof(label));
            }

            var provider         = this.ReceiverDefaults.GetConnectionStringProvider();
            var connectionString = provider?.GetConnectionString(label);

            if (!string.IsNullOrEmpty(connectionString))
            {
                this.ReceiverDefaults.ConnectionString = connectionString;
            }

            var configuration = new ReceiverConfiguration(label, this.ReceiverDefaults);

            this.receiverConfigurations.Add(configuration);

            return(configuration);
        }
Example #11
0
        private void CheckReceiverConfiguration(Receiver receiver, ReceiverConfiguration config)
        {
            var           receiverConfiguration = receiver.Configuration;
            bool          ok     = true;
            StringBuilder logger = new StringBuilder();

            bool local = CompareParameteres(receiverConfiguration.Mode,
                                            config.Mode, (param1, param2) => param1 == param2, logger, "Mode");

            ok   &= local;
            local = CompareParameteres(receiverConfiguration.MediaUri,
                                       config.MediaUri, (param1, param2) => param1 == param2, logger, "MediaUri");
            ok   &= local;
            local = CompareParameteres(receiverConfiguration.StreamSetup.Stream,
                                       config.StreamSetup.Stream, (param1, param2) => param1 == param2, logger, "Stream");
            ok   &= local;
            local = CompareParameteres(receiverConfiguration.StreamSetup.Transport.Protocol,
                                       config.StreamSetup.Transport.Protocol, (param1, param2) => param1 == param2, logger,
                                       "Protocol");
            ok &= local;
            Assert(ok, logger.ToStringTrimNewLine(),
                   "Check receiver configuration");
        }
Example #12
0
        private ReceiverConfiguration CreateNewReceiverConfiguration(Receiver receiver)
        {
            var capabilities = GetServiceCapabilities();

            var config = new ReceiverConfiguration
            {
                MediaUri = receiver.Configuration.MediaUri == "http://localhost/Valid/URI"
                               ?
                           "http://localhost/Valid/NewURI" : "http://localhost/Valid/URI",
                Mode = receiver.Configuration.Mode == ReceiverMode.AutoConnect
                           ?
                       ReceiverMode.NeverConnect : ReceiverMode.AutoConnect,
                StreamSetup = new StreamSetup
                {
                    Transport = new Transport()
                    {
                        Protocol = receiver.Configuration.StreamSetup.Transport.Protocol == TransportProtocol.HTTP
                                               ?
                                   TransportProtocol.RTSP : TransportProtocol.HTTP
                    }
                }
            };

            if (capabilities.RTP_MulticastSpecified && capabilities.RTP_Multicast)
            {
                config.StreamSetup.Stream = receiver.Configuration.StreamSetup.Stream == StreamType.RTPMulticast
                                            ?
                                            StreamType.RTPUnicast : StreamType.RTPMulticast;
            }
            else
            {
                config.StreamSetup.Stream = receiver.Configuration.StreamSetup.Stream;
            }

            return(config);
        }
Example #13
0
 public ServiceCollectionReceiverBuilderFor <T> WithReceiver <Q>(ReceiverConfiguration <T> configuration) where Q : class, IReceiverFor <T>
 {
     services.AddSingleton(configuration.GetType(), configuration);
     services.AddSingleton <IReceiverFor <T>, Q>();
     return(this);
 }
Example #14
0
 public Receiver CreateReceiver(ReceiverConfiguration Configuration)
 {
     return(base.Channel.CreateReceiver(Configuration));
 }
Example #15
0
 public void ConfigureReceiver(string ReceiverToken, ReceiverConfiguration Configuration)
 {
     base.Channel.ConfigureReceiver(ReceiverToken, Configuration);
 }
Example #16
0
        public static Receiver CreateReceiver(BaseOnvifTest test, ReceiverPortClient client, ReceiverConfiguration config)
        {
            Receiver receiver = null;

            RunStep(test, () => { receiver = client.CreateReceiver(config); }, "Create Receiver");
            DoRequestDelay(test);
            return(receiver);
        }
Example #17
0
 public static void ConfigureReceiver(BaseOnvifTest test, ReceiverPortClient client, string receiverToken, ReceiverConfiguration config)
 {
     RunStep(test, () => client.ConfigureReceiver(receiverToken, config),
             string.Format("Configure Receiver (token = '{0}')", receiverToken));
     DoRequestDelay(test);
 }
Example #18
0
 // Maybe needs to delete
 protected void ConfigureReceiverBack(string receiverToken, ReceiverConfiguration config)
 {
     RunStep(() => Client.ConfigureReceiver(receiverToken, config),
             string.Format("Configure Receiver (token = '{0}') back", receiverToken));
     DoRequestDelay();
 }
Example #19
0
 public OnvifCreateReceiver(string uri, string userName, string password, ReceiverConfiguration configuration)
     : base(uri, userName, password)
 {
     Configuration = configuration;
 }
Example #20
0
        /// <summary>
        /// Устанавливает конечную точку обратного вызова для получения ответных сообщений.
        /// </summary>
        /// <param name="callbackEndpointBuilder">Построитель конечной точки для ответных сообщений.</param>
        /// <returns>Конфигурация отправителя.</returns>
        public ISenderConfigurator WithCallbackEndpoint(Func<ISubscriptionEndpointBuilder, ISubscriptionEndpoint> callbackEndpointBuilder)
        {
            IReceiverConfigurator configurator = new ReceiverConfiguration(MessageLabel.Any, this.receiverOptions).WithEndpoint(callbackEndpointBuilder);

            this.CallbackConfiguration = (IReceiverConfiguration)configurator;

            return this;
        }
Example #21
0
        protected void ConfigureReceiver(string receiverToken, ReceiverConfiguration config)
        {
            ReceiverPortClient client = ReceiverClient;

            CommonMethodsProvider.ConfigureReceiver(this, client, receiverToken, config);
        }
Example #22
0
 public ReceiverBuilder()
 {
     parameters    = new ReceiverParameters();
     configuration = new ReceiverConfiguration();
 }