Commit Graph

20 Commits

Author SHA1 Message Date
Emiel Bruijntjes 64c876e65a removed support for TcpConnection::flush() and removed internal TcpShutdown state 2018-11-06 18:11:27 +01:00
Emiel Bruijntjes 6ea2d8dffd removed unneeded comment 2018-11-05 17:18:24 +01:00
Emiel Bruijntjes 359eec189f work in progress, simplified the tcp and ssl states 2018-11-05 16:18:20 +01:00
Emiel Bruijntjes e617161c8c the state::abort() method is no longer needed 2018-11-05 15:49:22 +01:00
Emiel Bruijntjes b81bc340b5 work in progress on refactored tcp handling, to solve various issues, like the one that lost connections do not trigger operations to fail 2018-11-04 23:34:31 +01:00
Emiel Bruijntjes 62a4262a58 the TcpConnection::close() method now supports an "immediate" parameter to skip the official amqp handshake for closing down 2018-10-28 18:13:13 +01:00
Emiel Bruijntjes 80ce6327bb fixed ssl handling: the sslconnected class incorrectly cached the readability/writability state of a socket, even after it already did a read- or write-operation, which could lead to the system getting to read mode when no data was expected 2018-06-15 09:19:27 +02:00
Emiel Bruijntjes 5d69cc567c more calls to openssl::err_clear_error() to prevent that the error queue contains errors that are not related to the operations that is being checked 2018-04-27 12:38:06 +02:00
Trevor Perrin 416e244b31 Clear SSL Error Queue
The OpenSSL documentation states that the error queue for the current
thread needs to be emptied prior to the next TLS/SSL I/O operation,
or the call to SSL_get_error() will not be reliable.
2018-04-26 15:50:32 -05:00
Emiel Bruijntjes 69a201e741 optimizid dealing with ssl connections by not going back to the event loop that often, and prevented that object was staying in send state if it was endlessly sending data and not receiving anything, found this out when working on issue #207 2018-04-05 11:10:55 +02:00
Emiel Bruijntjes b26058f3e2 renamed bytesQueued() to queued() 2018-04-01 22:34:15 +02:00
Mike Playle 8800d2917e Add method to return the amount of queued outgoing data 2018-04-01 10:54:05 +01:00
Emiel Bruijntjes 28b6c903e1 finished implementing amqps:// support 2018-03-09 13:55:49 +01:00
Emiel Bruijntjes e39ca5b012 ssl connection fixes 2018-03-08 13:36:56 +01:00
Emiel Bruijntjes 872d4e9a11 implemented flushing for ssl connections 2018-03-08 13:09:56 +01:00
Emiel Bruijntjes bc4db8d8fe elegant shutdown for ssl connections 2018-03-08 12:11:45 +01:00
Emiel Bruijntjes 25df834e74 prevent ssl errors or reference count errors when copying around ssl objects 2018-03-08 11:04:39 +01:00
Emiel Bruijntjes f23bcf19f1 improved docblocks in tcpstate.h header file, when an error or closed is reported to user space, the _handler variable is now reset to prevent that it will be used to report more than once (we still need to check if this does not trigger other errors), and the state object is no longer destructed after a reportClosed() call, so that it can clean up nicely (which we need to the tls shutdown anyway) 2018-03-08 10:02:42 +01:00
Emiel Bruijntjes 7aa7794e3e work in progress on ssl implementation 2018-03-06 22:03:53 +01:00
Emiel Bruijntjes 69596e49dc removed tabs 2018-03-06 08:40:44 +01:00