peerplays-fc/include/fc/udp_socket.hpp

39 lines
889 B
C++
Raw Normal View History

2012-09-09 03:46:19 +00:00
#ifndef _FC_UDP_SOCKET_HPP_
#define _FC_UDP_SOCKET_HPP_
#include <fc/utility.hpp>
2012-11-25 00:39:19 +00:00
#include <fc/shared_ptr.hpp>
2012-09-09 03:46:19 +00:00
namespace fc {
namespace ip {
class endpoint;
}
2012-11-25 00:39:19 +00:00
/**
* The udp_socket class has reference semantics, all copies will
* refer to the same underlying socket.
*/
2012-09-09 03:46:19 +00:00
class udp_socket {
public:
udp_socket();
2012-11-25 00:39:19 +00:00
udp_socket( const udp_socket& s );
2012-09-09 03:46:19 +00:00
~udp_socket();
void open();
void set_receive_buffer_size( size_t s );
void bind( const fc::ip::endpoint& );
size_t receive_from( char* b, size_t l, fc::ip::endpoint& from );
size_t send_to( const char* b, size_t l, const fc::ip::endpoint& to );
void close();
void connect( const fc::ip::endpoint& e );
fc::ip::endpoint local_endpoint()const;
2012-09-09 03:46:19 +00:00
private:
2012-11-25 00:39:19 +00:00
class impl;
fc::shared_ptr<impl> my;
2012-09-09 03:46:19 +00:00
};
}
#endif