This commit is contained in:
Aria 2025-03-21 22:23:30 +11:00
commit 9c94d113d3
Signed by untrusted user who does not match committer: aria
GPG key ID: 19AB7AA462B8AB3B
10260 changed files with 1237388 additions and 0 deletions

41
source/core/StarUdp.hpp Normal file
View file

@ -0,0 +1,41 @@
#ifndef STAR_UDP_HPP
#define STAR_UDP_HPP
#include "StarSocket.hpp"
namespace Star {
STAR_CLASS(UdpSocket);
STAR_CLASS(UdpServer);
// A Good default assumption for a maximum size of a UDP datagram without
// fragmentation
unsigned const MaxUdpData = 1460;
class UdpSocket : public Socket {
public:
UdpSocket(NetworkMode networkMode);
size_t receive(HostAddressWithPort* address, char* data, size_t size);
size_t send(HostAddressWithPort const& address, char const* data, size_t size);
};
class UdpServer {
public:
UdpServer(HostAddressWithPort const& address);
~UdpServer();
void close();
bool isListening() const;
size_t receive(HostAddressWithPort* address, char* data, size_t size, unsigned timeout);
size_t send(HostAddressWithPort const& address, char const* data, size_t size);
private:
HostAddressWithPort const m_hostAddress;
UdpSocketPtr m_listenSocket;
};
}
#endif