124 Commits (330c966556a5edaea1ef50097b70a556534d3911)

Author SHA1 Message Date
Con Kolivas 330c966556 Remove client ram safely in invalidate_client foreach loop 10 years ago
Con Kolivas 2545b08128 Use invalidate in the connector when dropping a client to ensure the stratifier drops it as well 10 years ago
Con Kolivas 4103a3bae8 Tell the stratifier to drop a client if the connector is told to drop it and cannot find it any more 10 years ago
Con Kolivas 88c7ef3c20 Use JSON_EOL in connector 10 years ago
Con Kolivas 3e335c3b38 Abort any functions on signal handling, cleaning up cksem functions 10 years ago
kanoi 503ec09f27 make LOG* macros typecheck and fix related errors/warnings 10 years ago
Con Kolivas 65f52112ba Confirm all handed over sockets match the configured sockets 10 years ago
Con Kolivas 00f9cf297d Hand over multiple sockets if we can 10 years ago
Con Kolivas 65a6f4be5f Look for json messages for clients and process them first in the connector 10 years ago
Con Kolivas 2dc67ccc35 Drop listen backlog to zero as soon as we start polling 10 years ago
Con Kolivas b8e125a1f7 Store which serverurl each client is bound to in the connector and pass the information to the stratifier 10 years ago
Con Kolivas 0f7b6c5a68 Make the connector bind to multiple IPs and Ports specified in the configuration, handling incoming connections 10 years ago
Con Kolivas 5dd076cfbe Allow serverurl to take an array of entries for future binding to multiple interfaces/ports 10 years ago
Con Kolivas 6c47d61bb1 Use reference counting to know when we can drop client structures in the connector 10 years ago
Con Kolivas 1e4030b9ed Fix wrong pointer in connector 10 years ago
Con Kolivas 3ddef2d66f Privatise all the connector specific data 10 years ago
Con Kolivas 329afb56ac Cosmetic tidy 10 years ago
Con Kolivas 1fe5373c87 Handle early exiting of connector receiver and sender threads 10 years ago
Con Kolivas d42185a5eb Tidy up receiver loop 10 years ago
Con Kolivas 0887d993fd Remove parse client msg from accept client 10 years ago
Con Kolivas 42fc9ca8f6 Rewrite connector receive thread to use epoll and remove associated now unnecessary fd hashtable 10 years ago
Con Kolivas c8627c0d1b Listen with the maximum backlog when we first start for more seamless restarts and then drop to the minimum afterwards to effectively ratelimit new connections 10 years ago
Con Kolivas f84c0aa2cd Make number of clients we can connect to unlimited 10 years ago
ckolivas b1e921a364 Make the stratifier drop a client id if it's still trying to send to a client that no longer exists in the connector 10 years ago
ckolivas 620d613d1a Add a maxclients directive that stops accepting clients when there are too many 10 years ago
Con Kolivas eda428dc7f Handle potentially recoverable errors in accept() to allow us to share the fd in future 10 years ago
ckolivas 7b46de8d53 Fix more thinkos 10 years ago
ckolivas 7edc80324c Fix thinko 10 years ago
ckolivas d1b095d1af Fix typo 10 years ago
ckolivas 676bb887bb Rework the poll loop to be cleaner and more efficient 10 years ago
Con Kolivas dd187da977 Add the server accept to the receiver's poll function, eliminating the need for short polls and one extra thread 10 years ago
Con Kolivas 0c16e193ce Set no linger on all connected clients 10 years ago
Con Kolivas 7d878bd223 Force close when dropping a client with a reset using SO_LINGER and give a warning on close failure 10 years ago
Con Kolivas 146e3140f3 Add client source port to verbose logging 10 years ago
Con Kolivas 5c6e048a2e Poll every 100ms instead of every second in the connector to rapidly pick up new clients 10 years ago
Con Kolivas 26b4037eff Log a warning if a client with an invalidated fd is still in the fdclients hashtable 10 years ago
Con Kolivas 3bf4e0de8d Always send dropclient to the stratifier on every invalidate client call 10 years ago
Con Kolivas 7da6c0b2a0 Use the Close handler in connector.c 10 years ago
Con Kolivas 86f72ff889 Keep rereading in parse_client_msg if the socket indicates it is still ready for further reads 10 years ago
Con Kolivas 8d625b736b Revert "Close polled fds that are ready for reads but no longer have a client associated with them" 10 years ago
Con Kolivas f0f948171a Invalidate interrupted clients and increase verbosity of messages logged 10 years ago
Con Kolivas f6f61e8870 Close polled fds that are ready for reads but no longer have a client associated with them 10 years ago
Con Kolivas 48b2e72661 Rereading with dontwait is pointless and adds complexity 10 years ago
Con Kolivas ae1f9827ac Revert "Always re-read with dontwait when parsing a client message" 10 years ago
Con Kolivas e3b4d969d5 Always re-read with dontwait when parsing a client message 10 years ago
Con Kolivas 70393442a3 Zero bufofs in connector loop for completeness and make sure to retry if there is more data to read 10 years ago
Con Kolivas 2d6d982bb1 Add buf offset to disconnect message and reset flags on looping 10 years ago
Con Kolivas a493539a75 Only add strerro if errno != 0 10 years ago
Con Kolivas 17d1455267 Add more info to disconnects 10 years ago
Con Kolivas 3d6601d20c Maximise the nonce2 size in proxy mode and ensure we don't clash enonce1 instances, rejecting clients when there is no more space available 10 years ago