41 #ifndef _networkudpsocket_cpp
42 #define _networkudpsocket_cpp
44 #include "Network/platformsocket.h.cpp"
46 #include "Network/udpsocket.h"
50 #ifndef MCAST_JOIN_GROUP
51 #define MCAST_JOIN_GROUP 41
52 #endif//MCAST_JOIN_GROUP
53 #ifndef MCAST_LEAVE_GROUP
54 #define MCAST_LEAVE_GROUP 42
55 #endif//MCAST_LEAVE_GROUP
56 #ifndef MCAST_BLOCK_SOURCE
57 #define MCAST_BLOCK_SOURCE 43
58 #endif//MCAST_BLOCK_SOURCE
59 #ifndef MCAST_UNBLOCK_SOURCE
60 #define MCAST_UNBLOCK_SOURCE 44
61 #endif//MCAST_UNBLOCK_SOURCE
62 #ifndef MCAST_JOIN_SOURCE_GROUP
63 #define MCAST_JOIN_SOURCE_GROUP 45
64 #endif//MCAST_JOIN_SOURCE_GROUP
65 #ifndef MCAST_LEAVE_SOURCE_GROUP
66 #define MCAST_LEAVE_SOURCE_GROUP 46
67 #endif//MCAST_LEAVE_SOURCE_GROUP
68 #ifndef MCAST_MSFILTER
69 #define MCAST_MSFILTER 47
70 #endif//MCAST_MSFILTER
71 #endif//MEZZ_WIN_MINGW
107 MCast.gr_interface = Interface;
115 MCast.gr_interface = Interface;
122 group_source_req MCast;
123 MCast.gsr_interface = Interface;
131 group_source_req MCast;
132 MCast.gsr_interface = Interface;
140 group_source_req MCast;
141 MCast.gsr_interface = Interface;
149 group_source_req MCast;
150 MCast.gsr_interface = Interface;
161 int Value = ( Broadcast ? 1 : 0 );
170 return ( Value != 0 );
UDPSocket()
Class constructor.
PlatformSocket * InternalSocket
A pointer to the internal system socket.
bool Boole
Generally acts a single bit, true or false.
sockaddr_storage ConvertToSocketStorage(const SystemAddress &MezzAddr)
Converts a Mezzanine address to a Berkeley sockets address.
void LeaveMulticastGroupSource(const SystemAddress &GroupAddress, const SystemAddress &SourceAddress, const UInt32 Interface=0)
Unsubscribes this socket from a specific source within a multicast group.
short int ConvertLayer3ProtocolType(const NetworkLayerProtocol Protocol)
Converts from a Mezzanine address protocol type to it's internal counterpart.
virtual ~UDPSocket()
Class destructor.
int Integer
A datatype used to represent any integer close to.
void BlockMulticastSource(const SystemAddress &GroupAddress, const SystemAddress &SourceAddress, const UInt32 Interface=0)
Block transmissions from a specific source within a multicast group.
Integer ReceivePeek(void *Buffer, const UInt32 BufSize, SystemAddress &Address) const
Reads raw data recieved on this socket from it's configured peer, but doesn't remove that data from t...
void JoinMulticastGroupSource(const SystemAddress &GroupAddress, const SystemAddress &SourceAddress, const UInt32 Interface=0)
Subscribes this socket to specific source within a multicast group.
void UnblockMulticastSource(const SystemAddress &GroupAddress, const SystemAddress &SourceAddress, const UInt32 Interface=0)
Unlock transmissions from a specific source within a multicast group.
TransportLayerProtocol
This is an enum listing for recognized protocols on Layer 4 of the OSI model.
uint32_t UInt32
An 32-bit unsigned integer.
Integer Send(const void *Buffer, const UInt32 BufSize, const SystemAddress &Address) const
Sends raw data out the socket to it's configured peer.
void JoinMulticastGroup(const SystemAddress &GroupAddress, const UInt32 Interface=0)
Subscribes this socket to a multicast group.
TransportLayerProtocol GetTransportLayerProtocol() const
Gets the layer 4 protocol this socket is operating on.
virtual NetworkLayerProtocol GetNetworkLayerProtocol() const =0
Gets the layer 3 protocol this socket is operating on.
Boole GetBroadcast() const
Gets whether or not the socket is allowed to send broadcast messages.
The bulk of the engine components go in this namspace.
void SetBroadcast(const Boole Broadcast)
Sets whether or not the socket is allowed to send broadcast messages.
void LeaveMulticastGroup(const SystemAddress &GroupAddress, const UInt32 Interface=0)
Unsubscribes this socket from a multicast group.
Integer Receive(void *Buffer, const UInt32 BufSize, SystemAddress &Address) const
Reads raw data recieved on this socket from it's configured peer.
A simple class that stores a complete set of information for establishing connections.