-
Notifications
You must be signed in to change notification settings - Fork 304
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
HPCC-32184 socket nonblocking improvements
jsocket - ensure reads all available, return if >= min - clearup nonblocking toggle, only change if necessary - clarify write() semantics (always writes all or throw an exception) - add option to throw graceful close after reading min_size jutil - add incidental hold() utility method mp - remove slowclient handling, add trackPortProbe - track and trace port probes - use a dedicated selecthandler for connections, and refactor connect logic, to avoid blocking - maintain list of connecting clients, delete any that have stalled if timedout via a maintenance thread. - refactor main MP packet reader handling to be non-blocking securesocket - ensure readtms semantics match jsocket - correct handling of ssl error states (SSL_ERROR_WANT_WRITE, SSL_ERROR_WANT_READ, SSL_ERROR_SYSCALL, SSL_ERROR_ZERO_RETURN), triggering wait_read or wait_write dafilesrv - rework dafsserver notifySelected loop slightly, to correctly expect/deal with 0 data. - Default all accepted dafilesrv sockets to non-blocking general - readtms - ensure consistenly waits for min_size. - tidy up looping code in various places (outside of jsocket) that relied on readtms 0 reading >=1 and looped instead of supplying min=max=len. - change calls that relied on read/readtms 0 reading >=1 - add readtmsAllowClose for common case where code treats graceful close as 0 bytes. Signed-off-by: Jake Smith <[email protected]>
- Loading branch information
Showing
15 changed files
with
794 additions
and
661 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.