/// <summary> /// Initializes a new instance of the <see cref="CommunicationAgentBase"/> class. /// </summary> /// <param name="capabilities">The agent capabilities. The default is bidirectional.</param> /// <param name="serializerId">The optional preferred serializer identifier.</param> /// <param name="compressionId">The optional preferred compression identifier.</param> /// <param name="encryptionId">The optional preferred encryption identifier.</param> protected CommunicationAgentBase( CommunicationAgentCapabilities capabilities = CommunicationAgentCapabilities.Bidirectional , SerializationHandlerId serializerId = null , CompressionHandlerId compressionId = null , EncryptionHandlerId encryptionId = null) : base(capabilities, serializerId, compressionId, encryptionId) { }
/// <summary> /// Initializes a new instance of the <see cref="UdpHelperState"/> class. /// </summary> /// <param name="mode">The mode.</param> /// <param name="socket">The socket.</param> public State(CommunicationAgentCapabilities mode, Socket socket) { Mode = mode; Buffer = Mode != CommunicationAgentCapabilities.Sender ? (new byte[UDPMAXSIZE]) : null; Socket = socket; mIPAddressExclude = new HashSet <IPAddress>(); }
/// <summary> /// Initializes a new instance of the <see cref="UdpHelper"/> class. /// </summary> public UdpHelper(UdpConfig udp, CommunicationAgentCapabilities mode) { Config = udp; Mode = mode; mConnectionsListener = new Dictionary <IPEndPoint, State>(); mConnectionsSender = new Dictionary <IPEndPoint, State>(); mIncomingPending = new ConcurrentQueue <Message>(); }
/// <summary> /// Initializes a new instance of the <see cref="UdpCommunicationAgent"/> class. /// </summary> /// <param name="config">The UDP endpoint configuration.</param> /// <param name="serializerId">The optional serializer identifier.</param> /// <param name="compressionId">The optional compression identifier.</param> /// <param name="encryptionId">The optional encryption identifier.</param> /// <param name="requestAddress">The optional request address.</param> /// <param name="responseAddress">The optional response address.</param> /// <param name="requestAddressPriority">The optional request address priority.</param> /// <param name="responseAddressPriority">The optional response address priority.</param> /// <param name="capabilities">The agent capabilities. The default is bidirectional.</param> /// <param name="maxUdpMessagePayloadSize">Maximum size of the UDP message payload.</param> public UdpCommunicationAgent(UdpConfig config , CommunicationAgentCapabilities capabilities = CommunicationAgentCapabilities.Bidirectional , SerializationHandlerId serializerId = null , CompressionHandlerId compressionId = null , EncryptionHandlerId encryptionId = null , ServiceMessageHeaderFragment requestAddress = null , ServiceMessageHeader responseAddress = null , int?requestAddressPriority = null , int responseAddressPriority = 1 , int?maxUdpMessagePayloadSize = UdpHelper.PacketMaxSize ) : base(capabilities, serializerId, compressionId, encryptionId) { mConfig = config ?? throw new ArgumentNullException("config", "Udp configuration cannot be null."); }