Con Kolivas
|
0395dd052f
|
Use the client reference count in the connector to protect the client fd, closing it only once there are no more references to it
|
10 years ago |
Con Kolivas
|
9375362044
|
Revert "Use a unique event structure for each client added to the epoll list"
This reverts commit 8f1336986f .
Unnecessary.
|
10 years ago |
Con Kolivas
|
8f1336986f
|
Use a unique event structure for each client added to the epoll list
|
10 years ago |
Con Kolivas
|
6a159bf5dc
|
We won't get no error if we are not testing fd -1 sockets any more, and use errno for consistent parsing of socket close errors
|
10 years ago |
Con Kolivas
|
62d1ec3f8a
|
Use signal handlers from sender and receiver threads in the connector avoid needing to pthread tryjoin on every message
|
10 years ago |
Con Kolivas
|
2bde0bbe3d
|
Avoid trying to parse messages or test the client's error if their fd has already been invalidated
|
10 years ago |
Con Kolivas
|
d0f7ec7c35
|
Decrease verbosity of missing client warning in receiver, adding id number to the output
|
10 years ago |
Con Kolivas
|
6c0c7dd7c4
|
Rework parse_client_msg to use the non blocking recv return values avoiding the need for an extra wait_read_select
|
10 years ago |
Con Kolivas
|
84ca31fcca
|
Drop stratifier id when client id is not found in connector
|
10 years ago |
Con Kolivas
|
93d5760b2d
|
Set server to the passthrough server client in passthrough mode
|
10 years ago |
Con Kolivas
|
e095ba4b49
|
Mask out error 0 in socket error messages
|
10 years ago |
Con Kolivas
|
3f3dc7f4f3
|
Implement a stratum mining.term call which notifies the stratifier this client is terminating and use it to signal upstream pools when passthrough subclients have disconnected
|
10 years ago |
Con Kolivas
|
e9441f2e1a
|
Drop passthrough proxy connection from stratifier
|
10 years ago |
Con Kolivas
|
8bb50fa058
|
Process epoll read messages before hangups and errors and add more info about the type of hang up, increasing verbosity when it's an unexpected error
|
10 years ago |
Con Kolivas
|
0b96be0144
|
Use non blocking receive in parse_client_msg as we check for read readiness with wait_read_select first, and there is the unlikely event the state changes
|
10 years ago |
Con Kolivas
|
da2f62aea9
|
Pass through the downstream clients' address and server
|
10 years ago |
Con Kolivas
|
bf72ebbee6
|
Reinstate checking for zero as a return from recv for cleanly disconnected clients
|
10 years ago |
Con Kolivas
|
75d24d1d07
|
Reference clients in the epoll list by their client id to avoid double lookup and possible wrong client selection
|
10 years ago |
Con Kolivas
|
88fcb55faa
|
Revert "Check clients match in epoll loop"
This reverts commit b50f2ba86c .
Wrong
|
10 years ago |
Con Kolivas
|
b50f2ba86c
|
Check clients match in epoll loop
|
10 years ago |
Con Kolivas
|
e012108280
|
Explicitly check for EPOLLRDHUP as well
|
10 years ago |
ckolivas
|
91d2aca51f
|
Detect pollhup in wait_read_select and not through recv fail conditions
|
10 years ago |
ckolivas
|
49ce587949
|
nolinger client sockets when we're about to close them
|
10 years ago |
ckolivas
|
da20ac7f3e
|
Disable user of nolinger on client sockets
|
10 years ago |
Con Kolivas
|
cd754e98e4
|
Move connector to using unix receive queues
|
10 years ago |
Con Kolivas
|
655f82f09d
|
Remove clients from the epoll list when invalidating them to avoid a receiver event and check they still exist in their original form on getting a receiver event
|
10 years ago |
Con Kolivas
|
24d9155f62
|
Recycle client instances in the connector
|
10 years ago |
Con Kolivas
|
4c97df787d
|
Remove use of upgradeable locks in connector
|
10 years ago |
Con Kolivas
|
d4304de798
|
These weren't the droids we were looking for.
|
10 years ago |
Con Kolivas
|
a465e47f85
|
Use async send proc in the connector
|
10 years ago |
Con Kolivas
|
42f14a9536
|
Add full lock tracking for mutexes and rwlocks
|
10 years ago |
Con Kolivas
|
163fc40afb
|
Check all delayed clients for a serviceable one in the connector when we can and consider dropping a client servicing one to not potentially create delayed sends faster than we service them
|
10 years ago |
Con Kolivas
|
8b1b6d45d6
|
fd being invalidated is checked for in wait_write_select so we don't need to handle it twice
|
10 years ago |
Con Kolivas
|
1a3ed51ba9
|
Fix workings when no serverurl is explicitly specified in config
|
10 years ago |
Con Kolivas
|
5dd35d6555
|
Fix workings when no serverurl is explicitly specified in config
|
10 years ago |
Con Kolivas
|
04f4f090e2
|
Convert use of %ld to PRId64 in connector
|
10 years ago |
Con Kolivas
|
841d22ec05
|
Drop the server backlog to minimum after the pool has been accepting connections for 90 seconds
|
10 years ago |
Con Kolivas
|
78b2cf0277
|
Further fine grain the locking in the connector
|
10 years ago |
Con Kolivas
|
d94202dacb
|
Avoid one cast
|
10 years ago |
Con Kolivas
|
a7b2c3d8aa
|
Shorten sleep interval while accept flag is not set
|
10 years ago |
Con Kolivas
|
6274371ccf
|
Microoptimise epoll_wait call
|
10 years ago |
Con Kolivas
|
bfbb9b574f
|
Remove unused macro
|
10 years ago |
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 |