Jenkins Software

Preprocessor directives

Define any of these values in RakNetDefinesOverrides.h to override. These are the defaults as set in RakNetDefines.h. Also see NativeFeatureIncludes.h to not compile in features you do not use.

/// Define __GET_TIME_64BIT to have RakNet::TimeMS use a 64, rather than 32 bit value. A 32 bit value will overflow after about 5 weeks.
/// However, this doubles the bandwidth use for sending times, so don't do it unless you have a reason to.
/// Comment out if you are using the iPod Touch TG. See
/// This must be the same on all systems, or they won't connect
#define __GET_TIME_64BIT 1

// Define _FILE_AND_LINE_ to "",0 if you want to strip out file and line info for memory tracking from the EXE
#define _FILE_AND_LINE_ __FILE__,__LINE__

/// Define __BITSTREAM_NATIVE_END to NOT support endian swapping in the BitStream class. This is faster and is what you should use
/// unless you actually plan to have different endianness systems connect to each other
/// Enabled by default.

/// Maximum (stack) size to use with _alloca before using new and delete instead.

// Use WaitForSingleObject instead of sleep.
// Defining it plays nicer with other systems, and uses less CPU, but gives worse RakNet performance
// Undefining it uses more CPU time, but is more responsive and faster.

/// Uncomment to use RakMemoryOverride for custom memory tracking
/// See RakMemoryOverride.h.

/// If defined, OpenSSL is enabled for the class TCPInterface
/// This is necessary to use the SendEmail class with Google POP servers
/// Note that OpenSSL carries its own license restrictions that you should be aware of. If you don't agree, don't enable this define
/// This also requires that you enable header search paths to DependentExtensions\openssl-0.9.8g

/// Threshold at which to do a malloc / free rather than pushing data onto a fixed stack for the bitstream class
/// Arbitrary size, just picking something likely to be larger than most packets

// Redefine if you want to disable or change the target for debug RAKNET_DEBUG_PRINTF
#define RAKNET_DEBUG_PRINTF printf

// Maximum number of local IP addresses supported

/// This controls the amount of memory used per connection. If more than this many datagrams are sent without an ack, then the ack has no effect

/// This is the maximum number of reliable user messages that can be on the wire at a time

/// Uncomment if you want to link in the DLMalloc library to use with RakMemoryOverride
// #define _LINK_DL_MALLOC

/// Workaround for
/// If two calls between RakNet::GetTime() happen farther apart than this time in microseconds, this delta will be returned instead
/// Note: This will cause ID_TIMESTAMP to be temporarily inaccurate if you set a breakpoint that pauses the UpdateNetworkLoop() thread in RakPeer
/// Define in RakNetDefinesOverrides.h to enable (non-zero) or disable (0)

// Use sliding window congestion control instead of ping based congestion control

// When a large message is arriving, preallocate the memory for the entire block
// This results in large messages not taking up time to reassembly with memcpy, but is vulnerable to attackers causing the host to run out of memory

See Also