/* ZNetConsts.hpp Author: Patrick Baggett Created: 6/5/2013 Purpose: ZNet symbolic constants License: Copyright 2013, 762 Studios */ #pragma once #ifndef _ZNETCONSTS_HPP #define _ZNETCONSTS_HPP #define ZNET_MTU_IPV4SAFE 512 //Like ZNET_MTU_IPV4, but with slightly less space, allowing for 64 bytes of IP overhead via optional sections #define ZNET_MTU_IPV4 548 //Minimum maximum reassembly buffer size of 576 minus 28 bytes of overhead for UDPv4 #define ZNET_MTU_ETHERNET 1500 #define ZNET_MTU_IPV6 1280 #define ZNET_MTU_IPV6SAFE 1232 //IPv6 required 1280 minus 48 for UDPv6+IPv6 header #define ZNET_MAX_SERVER_SOCKETS 4 //Maximum number of sockets a server may listen on //Flags for ZNetPacket::Initialize() #define ZNET_TRANSIENT 0x00000000u //< Default value. The packet is unreliable, but transient, so the newest copy is presented and older version discarded. #define ZNET_RELIABLE 0x00000001u //< This packet will be reliable. //Peer state enum ZNetConnectionState { STATE_UNCONNECTED, //No connection(s) established STATE_HANDSHAKE, //Machine has attempted connection, awaiting handshake STATE_CONNECTED, //Machine is connected actively to a remote machine STATE_SERVING //Clients connected, actively serving them }; #endif