Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
Patch Available
Description
TNonblockingServer and friends are currently quite tightly coupled to TBaseAsyncProcessor, using an instanceof check to determine whether to use the async-processor or sync-processor code path. This makes it impossible to write a "custom" async processor, as any processor which is not a TBaseAsyncProcessor will use the sync code path (which behaves incorrectly with async processors).
The idea is to separate out an interface, TAsyncProcessor. Custom async processors can then implement this interface and the server will take the async code path when used with such a processor.