101 #include <SDL/SDL_net.h>
114 class ZENI_NET_DLL Net;
117 ZENI_NET_EXT
template class ZENI_NET_DLL Singleton<Net>;
123 static Net * create();
126 #pragma warning( push )
127 #pragma warning( disable : 4251 )
129 static Uninit g_uninit;
130 static Reinit g_reinit;
132 #pragma warning( pop )
140 Net & operator=(
const Net &);
161 int try_check_socket();
165 int try_send(
const void *
const &
data,
const Uint16 &num_bytes);
166 int try_send(
const String &data);
167 void send(
const void *
const &data,
const Uint16 &num_bytes);
168 void send(
const String &data);
171 int try_receive(
void *
const &data,
const Uint16 &num_bytes);
173 int receive(
void *
const &data,
const Uint16 &num_bytes);
183 Uninit * duplicate()
const {
184 return new Uninit(m_sock);
188 Uninit(
const Uninit &);
189 Uninit operator=(
const Uninit &);
218 Uninit * duplicate()
const {
219 return new Uninit(m_sock);
223 Uninit(
const Uninit &);
224 Uninit operator=(
const Uninit &);
252 virtual int receive(
IPaddress &ip,
const void *
const &data,
const Uint16 &num_bytes);
261 Uninit * duplicate()
const {
262 return new Uninit(m_sock);
266 Uninit(
const Uninit &);
267 Uninit operator=(
const Uninit &);
284 struct ZENI_NET_DLL
Chunk {
310 class ZENI_NET_DLL Chunk_Set {
311 Chunk_Set(
const Chunk_Set &);
312 Chunk_Set operator=(
const Chunk_Set &);
319 #pragma warning( push )
320 #pragma warning( disable : 4251 )
322 std::vector<Chunk> chunks;
324 #pragma warning( pop )
328 Chunk_Set() : chunks_arrived(0
u) {}
333 bool complete()
const;
335 Chunk receive()
const;
338 class ZENI_NET_DLL Chunk_Collector {
339 Chunk_Collector(
const Chunk_Collector &);
340 Chunk_Collector operator=(
const Chunk_Collector &);
350 for(std::list<Chunk_Set *>::iterator it = chunk_sets.begin(); it != chunk_sets.end(); ++it)
358 #pragma warning( push )
359 #pragma warning( disable : 4251 )
361 std::list<Chunk_Set *> chunk_sets;
363 #pragma warning( pop )
376 virtual int receive(
IPaddress &ip,
const void *
const &data,
const Uint16 &num_bytes);
382 Chunk_Collector m_chunk_collector;
A higher level UDP_Socket.
else Out of place iCCP chunk
TCP_Socket_Init_Failure()
struct _UDPsocket * UDPsocket
Net & get_Net()
Get access to the singleton.
#define ZENI_DEFAULT_CHUNK_SIZE
A TCP Socket for sending and receiving data.
UDP_Socket_Init_Failure()
struct _SDLNet_SocketSet * SDLNet_SocketSet
A UDP Socket for sending and receiving data.
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Variable Length Unique IDentifier.
struct _TCPsocket * TCPsocket
uint16_t Uint16
An unsigned 16-bit integer type.
A Socket for accepting new TCP connections (in the form of TCP_Sockets)
#define ZENI_DEFAULT_CHUNK_SETS