コード例 #1
0
        /// <summary>
        /// Gets the new instance of <see cref="IMessageWriter"/>.
        /// </summary>
        /// <param name="name">The name.</param>
        /// <param name="configuration">The configuration.</param>
        /// <remarks>It is intentionally not implemented</remarks>
        /// <returns>An instance of <see cref="IMessageWriter"/>.</returns>
        /// <exception cref="System.NotImplementedException"></exception>
        IMessageWriter IMessageHandlerFactory.GetIMessageWriter(string name, string configuration, IUAEncoder uaEncoder)
        {
            UDPWriterConfiguration _configuration = UDPWriterConfiguration.Parse(configuration);
            BinaryUDPPackageWriter _ret           = new BinaryUDPPackageWriter(_configuration.RemoteHostName, _configuration.UDPPortNumber, uaEncoder);

            return(_ret);
        }
コード例 #2
0
        /// <summary>
        /// Gets the new instance of <see cref="IMessageWriter" />.
        /// </summary>
        /// <param name="name">The name of thw writer.</param>
        /// <param name="configuration">The configuration of the object implementing the <see cref="T:UAOOI.Networking.SemanticData.MessageHandling.IMessageWriter" />.</param>
        /// <param name="uaEncoder">The encoder that provides methods to be used to encode OPC UA Built-in types.</param>
        /// <returns>An instance of <see cref="IMessageWriter" /> that provides functionality supporting writing the messages on the wire..</returns>
        IMessageWriter IMessageHandlerFactory.GetIMessageWriter(string name, string configuration, IUAEncoder uaEncoder)
        {
            UDPMessageHandlerSemanticEventSource.Log.GetIMessageHandler($"{nameof(IMessageHandlerFactory.GetIMessageWriter)}{{ name = {name}, configuration= {configuration} }}");
            UDPWriterConfiguration _configuration = UDPWriterConfiguration.Parse(configuration);
            BinaryUDPPackageWriter _ret           = new BinaryUDPPackageWriter(_configuration.RemoteHostName, _configuration.UDPPortNumber, uaEncoder);

            return(_ret);
        }
コード例 #3
0
        public void UDPWriterConfigurationTest()
        {
            int    UDPPortNumber  = 4840;
            string RemoteHostName = "localhost";
            UDPWriterConfiguration _configuration = UDPWriterConfiguration.Parse($"{UDPPortNumber},{RemoteHostName}");

            Assert.IsNotNull(_configuration);
            Assert.AreEqual <string>("4840,localhost", _configuration.ToString());
            Assert.AreEqual <int>(UDPPortNumber, _configuration.UDPPortNumber);
            Assert.AreEqual <string>(RemoteHostName, _configuration.RemoteHostName);
        }
コード例 #4
0
            internal static UDPWriterConfiguration Parse(string configuration)
            {
                string[] _parameters = configuration.Split(',');
                if (_parameters.Length != 2)
                {
                    throw new ArgumentException($"Wrong number of parameter {_parameters.Length} but expected 4");
                }
                UDPWriterConfiguration _ret = new UDPWriterConfiguration();

                _ret.UDPPortNumber  = int.Parse(_parameters[0]);
                _ret.RemoteHostName = _parameters[1];
                return(_ret);
            }