/// <summary> /// Constructs a <see cref="UdpBroadcastMessage"/> from the parameters passed and /// serializes it into the wire format. /// </summary> /// <param name="messageType">The message type.</param> /// <param name="sourceAddress">The IP address of the message source.</param> /// <param name="broadcastGroup">The broadcast group.</param> /// <param name="payload">The broadcast packet payload.</param> /// <returns>The packet bytes.</returns> private byte[] GetMessageBytes(UdpBroadcastMessageType messageType, IPAddress sourceAddress, int broadcastGroup, byte[] payload) { var message = new UdpBroadcastMessage(messageType, sourceAddress, broadcastGroup, payload); if (FixedTimestampUtc > DateTime.MinValue) { message.TimeStampUtc = FixedTimestampUtc; } return(message.ToArray(settings.SharedKey)); }
/// <summary> /// Constructor. /// </summary> /// <param name="messageType">The message type.</param> /// <param name="sourceAddress">The IPv4 address of the packet source.</param> /// <param name="broadcastGroup">The broadcast group.</param> /// <param name="payload">The broadcast packet payload.</param> /// <exception cref="InvalidOperationException">Thrown if an non IPv4 address is set as the packet source.</exception> public UdpBroadcastMessage(UdpBroadcastMessageType messageType, IPAddress sourceAddress, int broadcastGroup, byte[] payload) { if (payload == null) { payload = EmptyPayload; } this.MessageType = messageType; this.TimeStampUtc = DateTime.UtcNow; this.SourceAddress = sourceAddress; this.BroadcastGroup = broadcastGroup; this.Payload = payload; }
/// <summary> /// Constructs a <see cref="UdpBroadcastMessage"/> from the parameters passed and /// serializes it into the wire format. /// </summary> /// <param name="messageType">The message type.</param> /// <param name="broadcastGroup">The broadcast group.</param> /// <param name="payload">The broadcast packet payload.</param> /// <returns>The packet bytes.</returns> private byte[] GetMessageBytes(UdpBroadcastMessageType messageType, int broadcastGroup, byte[] payload) { return(GetMessageBytes(messageType, IPAddress.Any, broadcastGroup, payload)); }
/// <summary> /// Constructs a <see cref="UdpBroadcastMessage"/> from the parameters passed and /// serializes it into the wire format. /// </summary> /// <param name="messageType">The message type.</param> /// <returns>The packet bytes.</returns> private byte[] GetMessageBytes(UdpBroadcastMessageType messageType) { return(GetMessageBytes(messageType, 0, null)); }
/// <summary> /// Constructs a <see cref="UdpBroadcastMessage"/> from the parameters passed and /// serializes it into the wire format. /// </summary> /// <param name="messageType">The message type.</param> /// <returns>The packet bytes.</returns> /// <param name="broadcastGroup">The broadcast group.</param> private byte[] GetMessageBytes(UdpBroadcastMessageType messageType, int broadcastGroup) { return(GetMessageBytes(messageType, broadcastGroup, null)); }
/// <summary> /// Constructor. /// </summary> /// <param name="messageType">The message type.</param> /// <param name="broadcastGroup">The broadcast group.</param> public UdpBroadcastMessage(UdpBroadcastMessageType messageType, int broadcastGroup) : this(messageType, IPAddress.Any, broadcastGroup, null) { }
/// <summary> /// Constructor. /// </summary> /// <param name="messageType">The message type.</param> public UdpBroadcastMessage(UdpBroadcastMessageType messageType) : this(messageType, IPAddress.Any, 0, null) { }