134 Commits (a8d701df3603241d6646cf8a5318c8c1c18ae65b)

Author SHA1 Message Date
Con Kolivas 0c07ddb5ad Don't use client structure out of lock in connector's drop_client 10 years ago
Con Kolivas 21c7fcb2c2 Do not grab the cdata lock in the connector when sending data as false negatives are safe 10 years ago
Con Kolivas 71917ed4da Do not send messages from the connector of clients we've already dropped 10 years ago
Con Kolivas 3bbce63302 Generate connector stats on command 10 years ago
Con Kolivas d6c57c0817 Do not check for thread shutdown on every pass through the connector 10 years ago
Con Kolivas b23dbab1a1 Use a doubly linked list for dead clients in the connector for O(1) removal 10 years ago
Con Kolivas a72510df7f Only ask the stratifier to drop a client once 10 years ago
Con Kolivas 01ce6a65a0 Revert wrongly implicated linked list freeing workaround 10 years ago
Con Kolivas 259f8ca4a0 Use invalidate in the connector when dropping a client to ensure the stratifier drops it as well 10 years ago
Con Kolivas b5f65d2e5a 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 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