Betzalel.SimpleMulticastAnalyzer.Net.Sender.Sender C# (CSharp) Method

Sender() public method

public Sender ( Log log, Statistics statistics, ProgramConfiguration programConfiguration ) : System
log Log
statistics Statistics
programConfiguration ProgramConfiguration
return System
        public Sender(Log log, Statistics statistics, ProgramConfiguration programConfiguration)
            : base(log, programConfiguration)
        {
            var destinationEndPoint =
            new IPEndPoint(_programConfiguration.DestinationIpAddress, programConfiguration.DestinationPort);

              _networkProtocol =
            new UdpNetworkProtocol(
              log, statistics, destinationEndPoint, UdpNetworkProtocolType.Udp, _programConfiguration.PacketSize,
              _programConfiguration.VerifyOrder);

              _sendDataTask =
            new HighResolutionTimer
              {
            Mode = TimerMode.Periodic,
            Period = 1000,
            Resolution = 0,
            IsAsync = true
              };

              _sendDataTask.Tick += (sender, args) => SendData();

              var bindedIp =
            MachineAddress.FirstOrDefault(i => i.Equals(_programConfiguration.SourceIpAddress)) ?? IPAddress.Any;

              var bindedPort = programConfiguration.SourcePort ?? 0;

              _networkProtocol.Bind(new IPEndPoint(bindedIp, bindedPort));

              if (programConfiguration.NetworkBufferSize.HasValue)
            _networkProtocol.SetSendBufferSize(programConfiguration.NetworkBufferSize.Value);
        }