Sunshine/src/network.h
2023-05-07 18:12:39 -04:00

38 lines
645 B
C++

/**
* @file src/network.h
* @brief todo
*/
#pragma once
#include <tuple>
#include <enet/enet.h>
#include "utility.h"
namespace net {
void
free_host(ENetHost *host);
using host_t = util::safe_ptr<ENetHost, free_host>;
using peer_t = ENetPeer *;
using packet_t = util::safe_ptr<ENetPacket, enet_packet_destroy>;
enum net_e : int {
PC,
LAN,
WAN
};
net_e
from_enum_string(const std::string_view &view);
std::string_view
to_enum_string(net_e net);
net_e
from_address(const std::string_view &view);
host_t
host_create(ENetAddress &addr, std::size_t peers, std::uint16_t port);
} // namespace net