37#ifndef UG_HOLE_PUNCH_CLIENT_HPP
38#define UG_HOLE_PUNCH_CLIENT_HPP
49class Client :
public std::enable_shared_from_this<Client>{
asio::ip::tcp::socket socket
void sendMsg(std::string_view msg)
void readDescription(CompletionCallback onComplete)
std::queue< std::string > sendQueue
void readNameComplete(asio::ip::tcp::socket &socket, CompletionCallback onComplete, CompletionStatus status)
std::string getRoomName()
Client(asio::ip::tcp::socket &&socket)
const std::vector< std::string > & getCandidates()
Client(const Client &)=delete
void readCandidateComplete(CompletionCallback onComplete, CompletionStatus status)
Client & operator=(const Client &)=delete
std::vector< std::string > candidates
void readRoomComplete(asio::ip::tcp::socket &socket, CompletionCallback onComplete, CompletionStatus status)
void readDescComplete(CompletionCallback onComplete, CompletionStatus status)
std::function< void(Client &, CompletionStatus)> CompletionCallback
void readCandidate(CompletionCallback onComplete)
bool isSendCallbackPending() const
void onMsgSent(CompletionStatus status)
std::string getClientName()
Client & operator=(Client &&)=delete