Skip to content

Commit 28c5f1e

Browse files
committed
Merge branch 'master' into ipv6
2 parents 3963c69 + 06b535c commit 28c5f1e

14 files changed

+2183
-678
lines changed

ChangeLog

+6
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
ENet 1.3.12 (April 24, 2014):
2+
3+
* added maximumPacketSize and maximumWaitingData fields to ENetHost to limit the amount of
4+
data waiting to be delivered on a peer (beware that the default maximumPacketSize is
5+
32MB and should be set higher if desired as should maximumWaitingData)
6+
17
ENet 1.3.11 (December 26, 2013):
28

39
* allow an ENetHost to connect to itself

Doxyfile

+1,922-612
Large diffs are not rendered by default.

DoxygenLayout.xml

+191
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,191 @@
1+
<doxygenlayout version="1.0">
2+
<!-- Generated by doxygen 1.8.6 -->
3+
<!-- Navigation index tabs for HTML output -->
4+
<navindex>
5+
<tab type="mainpage" visible="yes" title="Home"/>
6+
<tab type="user" visible="yes" title="Features" url="@ref Features" />
7+
<tab type="user" visible="yes" title="Downloads" url="@ref Downloads" />
8+
<tab type="user" visible="yes" title="Installation" url="@ref Installation" />
9+
<tab type="user" visible="yes" title="Tutorial" url="@ref Tutorial" />
10+
<tab type="user" visible="yes" title="Mailing List" url="@ref MailingList" />
11+
<tab type="user" visible="yes" title="IRC Channel" url="@ref IRCChannel" />
12+
<tab type="user" visible="yes" title="FAQ" url="@ref FAQ" />
13+
<tab type="user" visible="yes" title="License" url="@ref License" />
14+
<tab type="usergroup" visible="yes" title="Documentation" briefdescription="Documentation">
15+
<tab type="modules" visible="yes" title="Functions" intro=""/>
16+
<tab type="classlist" visible="yes" title="Data Structures" intro=""/>
17+
<tab type="filelist" visible="yes" title="Files" intro=""/>
18+
<tab type="globals" visible="yes" title="" intro=""/>
19+
</tab>
20+
</navindex>
21+
22+
<!-- Layout definition for a class page -->
23+
<class>
24+
<briefdescription visible="yes"/>
25+
<includes visible="$SHOW_INCLUDE_FILES"/>
26+
<inheritancegraph visible="$CLASS_GRAPH"/>
27+
<collaborationgraph visible="$COLLABORATION_GRAPH"/>
28+
<memberdecl>
29+
<nestedclasses visible="yes" title=""/>
30+
<publictypes title=""/>
31+
<services title=""/>
32+
<interfaces title=""/>
33+
<publicslots title=""/>
34+
<signals title=""/>
35+
<publicmethods title=""/>
36+
<publicstaticmethods title=""/>
37+
<publicattributes title=""/>
38+
<publicstaticattributes title=""/>
39+
<protectedtypes title=""/>
40+
<protectedslots title=""/>
41+
<protectedmethods title=""/>
42+
<protectedstaticmethods title=""/>
43+
<protectedattributes title=""/>
44+
<protectedstaticattributes title=""/>
45+
<packagetypes title=""/>
46+
<packagemethods title=""/>
47+
<packagestaticmethods title=""/>
48+
<packageattributes title=""/>
49+
<packagestaticattributes title=""/>
50+
<properties title=""/>
51+
<events title=""/>
52+
<privatetypes title=""/>
53+
<privateslots title=""/>
54+
<privatemethods title=""/>
55+
<privatestaticmethods title=""/>
56+
<privateattributes title=""/>
57+
<privatestaticattributes title=""/>
58+
<friends title=""/>
59+
<related title="" subtitle=""/>
60+
<membergroups visible="yes"/>
61+
</memberdecl>
62+
<detaileddescription title=""/>
63+
<memberdef>
64+
<inlineclasses title=""/>
65+
<typedefs title=""/>
66+
<enums title=""/>
67+
<services title=""/>
68+
<interfaces title=""/>
69+
<constructors title=""/>
70+
<functions title=""/>
71+
<related title=""/>
72+
<variables title=""/>
73+
<properties title=""/>
74+
<events title=""/>
75+
</memberdef>
76+
<allmemberslink visible="yes"/>
77+
<usedfiles visible="$SHOW_USED_FILES"/>
78+
<authorsection visible="yes"/>
79+
</class>
80+
81+
<!-- Layout definition for a namespace page -->
82+
<namespace>
83+
<briefdescription visible="yes"/>
84+
<memberdecl>
85+
<nestednamespaces visible="yes" title=""/>
86+
<constantgroups visible="yes" title=""/>
87+
<classes visible="yes" title=""/>
88+
<typedefs title=""/>
89+
<enums title=""/>
90+
<functions title=""/>
91+
<variables title=""/>
92+
<membergroups visible="yes"/>
93+
</memberdecl>
94+
<detaileddescription title=""/>
95+
<memberdef>
96+
<inlineclasses title=""/>
97+
<typedefs title=""/>
98+
<enums title=""/>
99+
<functions title=""/>
100+
<variables title=""/>
101+
</memberdef>
102+
<authorsection visible="yes"/>
103+
</namespace>
104+
105+
<!-- Layout definition for a file page -->
106+
<file>
107+
<briefdescription visible="yes"/>
108+
<includes visible="$SHOW_INCLUDE_FILES"/>
109+
<includegraph visible="$INCLUDE_GRAPH"/>
110+
<includedbygraph visible="$INCLUDED_BY_GRAPH"/>
111+
<sourcelink visible="yes"/>
112+
<memberdecl>
113+
<classes visible="yes" title=""/>
114+
<namespaces visible="yes" title=""/>
115+
<constantgroups visible="yes" title=""/>
116+
<defines title=""/>
117+
<typedefs title=""/>
118+
<enums title=""/>
119+
<functions title=""/>
120+
<variables title=""/>
121+
<membergroups visible="yes"/>
122+
</memberdecl>
123+
<detaileddescription title=""/>
124+
<memberdef>
125+
<inlineclasses title=""/>
126+
<defines title=""/>
127+
<typedefs title=""/>
128+
<enums title=""/>
129+
<functions title=""/>
130+
<variables title=""/>
131+
</memberdef>
132+
<authorsection/>
133+
</file>
134+
135+
<!-- Layout definition for a group page -->
136+
<group>
137+
<briefdescription visible="yes"/>
138+
<groupgraph visible="$GROUP_GRAPHS"/>
139+
<memberdecl>
140+
<nestedgroups visible="yes" title=""/>
141+
<dirs visible="yes" title=""/>
142+
<files visible="yes" title=""/>
143+
<namespaces visible="yes" title=""/>
144+
<classes visible="yes" title=""/>
145+
<defines title=""/>
146+
<typedefs title=""/>
147+
<enums title=""/>
148+
<enumvalues title=""/>
149+
<functions title=""/>
150+
<variables title=""/>
151+
<signals title=""/>
152+
<publicslots title=""/>
153+
<protectedslots title=""/>
154+
<privateslots title=""/>
155+
<events title=""/>
156+
<properties title=""/>
157+
<friends title=""/>
158+
<membergroups visible="yes"/>
159+
</memberdecl>
160+
<detaileddescription title=""/>
161+
<memberdef>
162+
<pagedocs/>
163+
<inlineclasses title=""/>
164+
<defines title=""/>
165+
<typedefs title=""/>
166+
<enums title=""/>
167+
<enumvalues title=""/>
168+
<functions title=""/>
169+
<variables title=""/>
170+
<signals title=""/>
171+
<publicslots title=""/>
172+
<protectedslots title=""/>
173+
<privateslots title=""/>
174+
<events title=""/>
175+
<properties title=""/>
176+
<friends title=""/>
177+
</memberdef>
178+
<authorsection visible="yes"/>
179+
</group>
180+
181+
<!-- Layout definition for a directory page -->
182+
<directory>
183+
<briefdescription visible="yes"/>
184+
<directorygraph visible="yes"/>
185+
<memberdecl>
186+
<dirs visible="yes"/>
187+
<files visible="yes"/>
188+
</memberdecl>
189+
<detaileddescription title=""/>
190+
</directory>
191+
</doxygenlayout>

LICENSE

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Copyright (c) 2002-2013 Lee Salzman
1+
Copyright (c) 2002-2014 Lee Salzman
22

33
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
44

Makefile.am

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ enetinclude_HEADERS = \
1616
lib_LTLIBRARIES = libenet.la
1717
libenet_la_SOURCES = callbacks.c compress.c host.c list.c packet.c peer.c protocol.c unix.c win32.c
1818
# see info '(libtool) Updating version info' before making a release
19-
libenet_la_LDFLAGS = $(AM_LDFLAGS) -version-info 6:2:4
19+
libenet_la_LDFLAGS = $(AM_LDFLAGS) -version-info 7:0:0
2020
AM_CPPFLAGS = -I$(top_srcdir)/include
2121

2222
ACLOCAL_AMFLAGS = -Im4

configure.ac

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
AC_INIT([libenet], [1.3.11])
1+
AC_INIT([libenet], [1.3.12])
22
AC_CONFIG_SRCDIR([include/enet/enet.h])
33
AM_INIT_AUTOMAKE([foreign])
44

docs/install.dox

+1-2
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@
22
@page Installation Installation
33

44
ENet should be trivially simple to integrate with most applications.
5-
First, make sure you download the latest source distribution here @ref
6-
SourceDistro.
5+
First, make sure you download the latest source distribution at @ref Downloads.
76

87
@section Unix Unix-like Operating Systems
98

docs/license.dox

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/**
22
@page License License
33

4-
Copyright (c) 2002-2013 Lee Salzman
4+
Copyright (c) 2002-2014 Lee Salzman
55

66
Permission is hereby granted, free of charge, to any person obtaining
77
a copy of this software and associated documentation files (the

docs/mainpage.dox

+12-12
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
/** @mainpage enet
2-
<center>http://enet.bespin.org</center>
3-
<hr>
1+
/** @mainpage ENet
42

53
ENet's purpose is to provide a relatively thin, simple and robust
64
network communication layer on top of UDP (User Datagram Protocol).
@@ -14,7 +12,7 @@ portable, and easily embeddable.
1412

1513
@ref Features
1614

17-
@ref SourceDistro
15+
@ref Downloads
1816

1917
@ref Installation
2018

@@ -28,32 +26,34 @@ portable, and easily embeddable.
2826

2927
@ref License
3028

29+
<a class="el" href="usergroup0.html">Documentation</a>
30+
3131
*/
3232

3333
/**
34-
@page SourceDistro Source Distribution
34+
@page Downloads Downloads
3535

3636
You can retrieve the source to ENet by downloading it in either .tar.gz form
3737
or accessing the github distribution directly.
3838

39-
The most recent stable release (1.3.11) can be downloaded <a href="http://enet.bespin.org/download/enet-1.3.11.tar.gz">here</a>.
40-
The last release that is protocol compatible with the 1.2 series or earlier (1.2.5) can be downloaded <a href="http://enet.bespin.org/download/enet-1.2.5.tar.gz">here</a>
39+
The most recent stable release (1.3.12) can be downloaded <a class="el" href="download/enet-1.3.12.tar.gz">here</a>.
40+
The last release that is protocol compatible with the 1.2 series or earlier (1.2.5) can be downloaded <a class="el" href="download/enet-1.2.5.tar.gz">here</a>.
4141

42-
You can find the most recent ENet source at <a href="https://github.com/lsalzman/enet">the github repository</a>.
42+
You can find the most recent ENet source at <a class="el" href="https://github.com/lsalzman/enet">the github repository</a>.
4343

4444
*/
4545

4646
/**
47-
@page MailingList ENet Mailing List
47+
@page MailingList Mailing List
4848

49-
The <a href="http://lists.cubik.org/mailman/listinfo/enet-discuss">enet-discuss</a> list is for discussion of ENet, including bug reports or feature requests.
49+
The <a class="el" href="http://lists.cubik.org/mailman/listinfo/enet-discuss">enet-discuss</a> list is for discussion of ENet, including bug reports or feature requests.
5050

5151
*/
5252

5353
/**
54-
@page IRCChannel ENet IRC Channel
54+
@page IRCChannel IRC Channel
5555

56-
Join the \#enet channel on the freenode IRC network (irc.freenode.net) for real-time discussion about the ENet library.
56+
Join the \#enet channel on the <a class="el" href="http://freenode.net">freenode IRC network (irc.freenode.net)</a> for real-time discussion about the ENet library.
5757

5858
*/
5959

host.c

+2
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,8 @@ enet_host_create (const ENetAddress * address, size_t peerCount, size_t channelL
100100
host -> connectedPeers = 0;
101101
host -> bandwidthLimitedPeers = 0;
102102
host -> duplicatePeers = ENET_PROTOCOL_MAXIMUM_PEER_ID;
103+
host -> maximumPacketSize = ENET_HOST_DEFAULT_MAXIMUM_PACKET_SIZE;
104+
host -> maximumWaitingData = ENET_HOST_DEFAULT_MAXIMUM_WAITING_DATA;
103105

104106
host -> compressor.context = NULL;
105107
host -> compressor.compress = NULL;

include/enet/enet.h

+7-2
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ extern "C"
2525

2626
#define ENET_VERSION_MAJOR 1
2727
#define ENET_VERSION_MINOR 3
28-
#define ENET_VERSION_PATCH 11
28+
#define ENET_VERSION_PATCH 12
2929
#define ENET_VERSION_CREATE(major, minor, patch) (((major)<<16) | ((minor)<<8) | (patch))
3030
#define ENET_VERSION_GET_MAJOR(version) (((version)>>16)&0xFF)
3131
#define ENET_VERSION_GET_MINOR(version) (((version)>>8)&0xFF)
@@ -211,6 +211,8 @@ enum
211211
ENET_HOST_SEND_BUFFER_SIZE = 256 * 1024,
212212
ENET_HOST_BANDWIDTH_THROTTLE_INTERVAL = 1000,
213213
ENET_HOST_DEFAULT_MTU = 1400,
214+
ENET_HOST_DEFAULT_MAXIMUM_PACKET_SIZE = 32 * 1024 * 1024,
215+
ENET_HOST_DEFAULT_MAXIMUM_WAITING_DATA = 32 * 1024 * 1024,
214216

215217
ENET_PEER_DEFAULT_ROUND_TRIP_TIME = 500,
216218
ENET_PEER_DEFAULT_PACKET_THROTTLE = 32,
@@ -312,6 +314,7 @@ typedef struct _ENetPeer
312314
enet_uint16 outgoingUnsequencedGroup;
313315
enet_uint32 unsequencedWindow [ENET_PEER_UNSEQUENCED_WINDOW_SIZE / 32];
314316
enet_uint32 eventData;
317+
size_t totalWaitingData;
315318
} ENetPeer;
316319

317320
/** An ENet packet compressor for compressing UDP packets before socket sends or receives.
@@ -386,6 +389,8 @@ typedef struct _ENetHost
386389
size_t connectedPeers;
387390
size_t bandwidthLimitedPeers;
388391
size_t duplicatePeers; /**< optional number of allowed peers from duplicate IPs, defaults to ENET_PROTOCOL_MAXIMUM_PEER_ID */
392+
size_t maximumPacketSize; /**< the maximum allowable packet size that may be sent or received on a peer */
393+
size_t maximumWaitingData; /**< the maximum aggregate amount of buffer space a peer may use waiting for packets to be delivered */
389394
} ENetHost;
390395

391396
/**
@@ -567,7 +572,7 @@ extern int enet_peer_throttle (ENetPeer *, enet_uint32);
567572
extern void enet_peer_reset_queues (ENetPeer *);
568573
extern void enet_peer_setup_outgoing_command (ENetPeer *, ENetOutgoingCommand *);
569574
extern ENetOutgoingCommand * enet_peer_queue_outgoing_command (ENetPeer *, const ENetProtocol *, ENetPacket *, enet_uint32, enet_uint16);
570-
extern ENetIncomingCommand * enet_peer_queue_incoming_command (ENetPeer *, const ENetProtocol *, ENetPacket *, enet_uint32);
575+
extern ENetIncomingCommand * enet_peer_queue_incoming_command (ENetPeer *, const ENetProtocol *, const void *, size_t, enet_uint32, enet_uint32);
571576
extern ENetAcknowledgement * enet_peer_queue_acknowledgement (ENetPeer *, const ENetProtocol *, enet_uint16);
572577
extern void enet_peer_dispatch_incoming_unreliable_commands (ENetPeer *, ENetChannel *);
573578
extern void enet_peer_dispatch_incoming_reliable_commands (ENetPeer *, ENetChannel *);

include/enet/protocol.h

-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ enum
1717
ENET_PROTOCOL_MINIMUM_CHANNEL_COUNT = 1,
1818
ENET_PROTOCOL_MAXIMUM_CHANNEL_COUNT = 255,
1919
ENET_PROTOCOL_MAXIMUM_PEER_ID = 0xFFF,
20-
ENET_PROTOCOL_MAXIMUM_PACKET_SIZE = 1024 * 1024 * 1024,
2120
ENET_PROTOCOL_MAXIMUM_FRAGMENT_COUNT = 1024 * 1024
2221
};
2322

0 commit comments

Comments
 (0)