1
0
Commit Graph

190 Commits

Author SHA1 Message Date
Mattes D
70d54054e3 NetworkSingleton: LibEvent thread is joined properly on server exit. 2015-02-18 22:41:22 +01:00
Mattes D
612637ab2e Network: Fixed two-socket servers. 2015-02-18 09:35:14 +01:00
Mattes D
d336a3ea9e Fixed TCP link shutdown.
The shutdown is postponed until there's no more outgoing data in the LibEvent buffers.
2015-02-14 13:55:54 +01:00
Mattes D
81d7329ad3 ServerHandle: Fixed socket reuse.
Fixes CID 104670, CID 104670 and CID 103724.
2015-02-08 14:41:24 +01:00
Mattes D
5ee5a691b7 Merge pull request #1729 from mc-server/ReuseFlag
Set reuse flag to sockets
2015-02-08 00:08:18 +01:00
Howaner
be528a9f52 Use evutil_make_listen_socket_reuseable 2015-02-07 18:39:24 +01:00
Howaner
d32831d7e8 Set reuse flag to sockets
Should fix #1726
2015-02-07 11:03:38 +01:00
Mattes D
014b96adb3 Exported cServerHandle and cNetwork:Listen to Lua.
Also added an example to the NetworkTest plugin.
2015-02-04 08:40:52 +01:00
Mattes D
e098728fa8 cTCPLink: Fixed missing addresses on link connection. 2015-02-04 08:40:51 +01:00
Mattes D
79dee9bb70 Fixed listening ports not closed on cServerHandle::Close. 2015-01-27 14:53:39 +01:00
Mattes D
053362e604 Added network termination called at app exit.
This fixes a crash in MSVC runtime caused by joining a thread in a global var's destructor.
2015-01-27 14:53:37 +01:00
Mattes D
9a2200f8bb cTCPLinkImpl: Added the BEV_OPT_THREADSAFE flag. 2015-01-27 14:53:37 +01:00
Mattes D
2557f2867d ServerHandleImpl: Removed needless diagnostic output. 2015-01-27 14:53:36 +01:00
Mattes D
1b9c0f1030 Removed cFile::ReplaceFileNameInvalidChars().
Its only usage in cProtocol18 has been changed to a simple string replace - only the IPv6's colons were causing problems.
2015-01-27 14:53:34 +01:00
Mattes D
f243aa387c Removed ListenThread and SocketThreads.
They have been replaced by the cNetwork API.
Socket.cpp is still used by RCONClient.
2015-01-27 14:53:32 +01:00
Mattes D
1f2f8b553b cNetwork: Fixed IP address reading for incoming connections. 2015-01-27 14:53:30 +01:00
Mattes D
f1f12495b2 cFile: Added ReplaceFileNameInvalidChars(). 2015-01-27 14:53:29 +01:00
Mattes D
80a386cbc4 Fixed missing LibEvent reference in OSSupport. 2015-01-27 14:53:26 +01:00
Mattes D
10cfa61fbc cNetwork: Added self pointers to keep objects alive for callbacks.
Ref.: http://forum.mc-server.org/showthread.php?tid=1700&pid=17947#pid17947
2015-01-23 23:01:18 +01:00
Mattes D
9014bdfa32 cNetwork: Renamed callback to OnConnected() 2015-01-22 22:49:37 +01:00
Mattes D
dbf7f13bd4 cNetwork: Added link creation callback.
This allows the callback classes to store the link inside them and use it internally later on, mainly for sending data.
2015-01-22 20:13:06 +01:00
Mattes D
5b4c5cf2be cNetwork: Changed listening API.
The link-callbacks for each new accepted link are now received from the OnIncomingConnection listen-callback.
2015-01-22 20:13:05 +01:00
Mattes D
64855ed340 cNetwork: Added error message to error callbacks. 2015-01-22 20:13:04 +01:00
Mattes D
00253403b3 cTCPLinkImpl: Fixed type conversion warning. 2015-01-22 20:13:03 +01:00
Mattes D
d4682463a1 cNetwork: Fixed race conditions with lookups; proper shutdown. 2015-01-22 20:13:02 +01:00
Mattes D
c0cb787c10 cNetwork: Split the main cpp file into several files. 2015-01-22 20:13:02 +01:00
Mattes D
1e5aedacea cNetwork: Fixed WinXP dualstack listening. 2015-01-22 20:13:01 +01:00
Mattes D
d3076a3e16 cNetwork: Split cNetworkSingleton to a separate file. 2015-01-22 20:13:00 +01:00
Mattes D
ae29a82eba cNetwork: Fixed WSAStartup()-not-called error in Listen(). 2015-01-22 20:12:59 +01:00
Mattes D
60807adfb5 cNetwork: Handle WSA initialization failures. 2015-01-22 20:12:58 +01:00
Mattes D
7cddb62374 cNetwork: Added an OnError callback for listening servers.
The callback receives the error details.
2015-01-22 20:12:57 +01:00
Mattes D
646e636933 cNetwork: Rewritten server listen into a factory method. 2015-01-22 20:12:56 +01:00
Mattes D
4647e6ad71 cNetwork: Removed unneeded dependency. 2015-01-22 20:12:55 +01:00
Mattes D
728a624e48 cNetwork: Refactored cTCPLinkImpl::Connect into a factory. 2015-01-22 20:12:55 +01:00
Mattes D
6f29cfe084 cNetwork: Cosmetics. 2015-01-22 20:12:54 +01:00
Mattes D
b59206207c cNetwork: Fixed compilation. 2015-01-22 20:12:52 +01:00
worktycho
19121d2962 Wrap debug variable in ifdef
avoidss unused variable error in clang
2015-01-22 20:12:51 +01:00
Mattes D
235b8f1f6b cNetwork: Added error logging to server socket creation.
This is mainly for WinXP and RasPi testing.
2015-01-22 20:12:50 +01:00
Mattes D
ddb1818dd5 cNetwork: Added multithreading protection. 2015-01-22 20:12:50 +01:00
Mattes D
d8ac99a037 cNetwork: Implemented connection shutdown and close. 2015-01-22 20:12:49 +01:00
Mattes D
9ffca12709 cNetwork: Fixed Linux compilation. 2015-01-22 20:12:48 +01:00
Mattes D
a2aa37bdc5 cNetwork: Implemented link address getting. 2015-01-22 20:12:47 +01:00
Mattes D
28e97d5468 cNetwork: Implemented basic server functionality. 2015-01-22 20:12:46 +01:00
Mattes D
251c96952b cNetwork: Implemented IP-to-hostname lookup. 2015-01-22 20:12:45 +01:00
Mattes D
fde44cba08 cNetwork: Implemented HostnameToIP lookups. 2015-01-22 20:12:45 +01:00
Tycho
a9b8a530b1 Extracted Google connection test 2015-01-22 20:12:42 +01:00
Mattes D
b8b3409b74 cNetwork: Linux compilation fix. 2015-01-22 20:12:41 +01:00
Mattes D
6f5e267d58 Implemented LibEvent-based client connections. 2015-01-22 20:12:40 +01:00
Mattes D
45b1d5ff78 Fixed various warnings. 2015-01-18 18:01:24 +01:00
Kirill Kirilenko
3dc994f9dc Fixed CppCheck: (performance) Possible inefficient checking for emptiness. 2015-01-17 15:20:03 +03:00