public Receiver(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);
var bindedIp =
MachineAddress.FirstOrDefault(i => i.Equals(_programConfiguration.SourceIpAddress)) ?? IPAddress.Any;
var bindedPort = programConfiguration.SourcePort ?? programConfiguration.DestinationPort;
_networkProtocol.Bind(new IPEndPoint(bindedIp, bindedPort));
if (programConfiguration.NetworkBufferSize.HasValue)
_networkProtocol.SetReceiveBufferSize(programConfiguration.NetworkBufferSize.Value);
}