This repository has been archived on 2024-06-13. You can view files and clone it, but cannot push or open issues or pull requests.
nekohook/modules/source2013/sdk/public/blockingudpsocket.h
2020-08-04 13:13:01 -04:00

39 lines
949 B
C++

//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
//=============================================================================//
#ifndef BLOCKINGUDPSOCKET_H
#define BLOCKINGUDPSOCKET_H
#ifdef _WIN32
#pragma once
#endif
#include "netadr.h"
class CBlockingUDPSocket {
public:
explicit CBlockingUDPSocket();
virtual ~CBlockingUDPSocket();
bool WaitForMessage(float timeOutInSeconds);
unsigned int ReceiveSocketMessage(struct sockaddr_in *packet_from,
unsigned char *buf, size_t bufsize);
bool SendSocketMessage(const struct sockaddr_in &rRecipient,
const unsigned char *buf, size_t bufsize);
bool IsValid() const { return m_Socket != 0; }
protected:
bool CreateSocket(void);
class CImpl;
CImpl *m_pImpl;
netadr_t m_cserIP;
unsigned int m_Socket;
};
#endif // BLOCKINGUDPSOCKET_H