#include "p2p/base/stun_server.h"
#include <string>
#include <utility>
#include "absl/strings/string_view.h"
#include "api/sequence_checker.h"
#include "rtc_base/async_packet_socket.h"
#include "rtc_base/byte_buffer.h"
#include "rtc_base/logging.h"
#include "rtc_base/network/received_packet.h"
namespace cricket {
StunServer::StunServer(rtc::AsyncUDPSocket* socket) : … { … }
StunServer::~StunServer() { … }
void StunServer::OnPacket(rtc::AsyncPacketSocket* socket,
const rtc::ReceivedPacket& packet) { … }
void StunServer::OnBindingRequest(StunMessage* msg,
const rtc::SocketAddress& remote_addr) { … }
void StunServer::SendErrorResponse(const StunMessage& msg,
const rtc::SocketAddress& addr,
int error_code,
absl::string_view error_desc) { … }
void StunServer::SendResponse(const StunMessage& msg,
const rtc::SocketAddress& addr) { … }
void StunServer::GetStunBindResponse(StunMessage* message,
const rtc::SocketAddress& remote_addr,
StunMessage* response) const { … }
}