issue #144: service: working service.Pool object.
It knows how to dispatch messages from multiple receivers (associated with multiple services) to multiple threads, where the service implementation is invoked on the message. It wakes a maximum of one thread per received message. It knows how to shut down gracefully. Implication: due to the latch use, there are 2 file descriptors burned for every thread. We don't need interruptibility here, so in future, it might be nice to allow swapping a diferent queueing primitive into Select (maybe a subclass?) just for this case.
Showing
Please register or sign in to comment