Currently there is six variations of (IPv4) UDPSocket.cpp.
FMClients, NXDNClients, P25Clients, YSFClients(YSFParrot)
use ::fprintf() for logging
YSFClients(YSFReflector)
use LogError() and LogInfo() for logging
special open(string &bindaddr) function
YSFClients(YSFGateway), DAPNETGateway
use LogError() and LogInfo() for logging
P25Clients, DMRGateway
use LogError() for logging
no LogInfo("Opening UDP port on") message
NXDNClients
use LogError() for logging
no LogInfo("Opening UDP port on") message
add #include
MMDVMHost
use LogError() for logging
no LogInfo("Opening UDP port on") message
no assert(!address.empty()) at constructor
to avoid explosion, commonized them.
switch ::fprintf()/LogError by #define HAVE_LOG_H
always display LogInfo("Opening UDP port on") message
delete #include <ifaddrs.h>, this is not needed
no assert(!address.empty()) at constructor
and to support YSFReflector, add multiple socket support.
default is #define UDP_SOCKET_MAX 1 so normally this feature is disabled.
added these functions.
CUDPSocket() (constructor without any parameters)
open(index, af, addr, port)
close(index)
CUDPSocket() means CUDPSocket(address = "", port = 0)
index selects socket, address and port is defined at open.
to have compatibility for old codes, these function works as
CUDPSocket(addr, port) store addr and port to index #0
CUDPSocket(port) store addr = "" and port to index #0
open() open with addr and port of index #0, AF_UNSPEC
open(af) open with addr and port of index #0, specified af
close() close *all* sockets
Currently there is six variations of (IPv4) UDPSocket.cpp.
FMClients, NXDNClients, P25Clients, YSFClients(YSFParrot) use ::fprintf() for logging
YSFClients(YSFReflector) use LogError() and LogInfo() for logging special open(string &bindaddr) function
YSFClients(YSFGateway), DAPNETGateway use LogError() and LogInfo() for logging
P25Clients, DMRGateway use LogError() for logging no LogInfo("Opening UDP port on") message
NXDNClients use LogError() for logging no LogInfo("Opening UDP port on") message add #include
MMDVMHost use LogError() for logging no LogInfo("Opening UDP port on") message no assert(!address.empty()) at constructor
to avoid explosion, commonized them.
and to support YSFReflector, add multiple socket support. default is #define UDP_SOCKET_MAX 1 so normally this feature is disabled.
added these functions.
CUDPSocket() means CUDPSocket(address = "", port = 0) index selects socket, address and port is defined at open.
to have compatibility for old codes, these function works as
read/write operation is for all opened sockets.