Age | Commit message (Collapse) | Author | |
---|---|---|---|
2014-06-08 | Add a TimedEvent to cancel the connection to a server after 5 seconds | Florent Le Coz | |
2014-06-08 | Implement TLS support using Botan | Florent Le Coz | |
For now, it tries two TLS ports and then connects to the non-tls port. In the future we would like the user to be able to configure that. fix #2435 | |||
2014-05-28 | On connection in-progress, save the whole addrinfo struct, not just ai_addr | Florent Le Coz | |
2014-05-27 | Only close/unmanage the socket if we are connected/connecting | Florent Le Coz | |
Since the socket is now only created and managed whenever the connection is being established, we only close the socket and if it was created (we use -1 to denote the fact that is not yet created, or has been closed) and we only unmanage the socket if it is effectively managed. fix #2529 | |||
2014-05-27 | Support IPv6 connections | Florent Le Coz | |
fix #2522 | |||
2014-05-27 | SocketHandlers own the poller and add themself into it only when the socket ↵ | Florent Le Coz | |
is created We want to call socket() with the parameters provided by getaddrinfo, so we can’t addd the fd into the poller immediately. We need to wait the connection attempt, and then the SocketHandler can call add_socket_handler itself, if the connection succeeds, or is in progress. | |||
2014-04-29 | Add missing std::string_literals | Florent Le Coz | |
2014-04-29 | Use C++14 string_literals | Florent Le Coz | |
2014-04-15 | Call on_connection_failed() when the connection fails to be established | Florent Le Coz | |
2014-04-15 | Remove a useless debug log line | Florent Le Coz | |
2014-03-24 | Reconnected immediately to the XMPP whenever it closes the connection | Florent Le Coz | |
2014-03-24 | Do not send data if we are connected, send it only once we actually are | Florent Le Coz | |
2014-03-10 | Remove useless cast | Florent Le Coz | |
2014-03-03 | Fix a bus error by not going above an array boundary | Florent Le Coz | |
2014-02-28 | Avoid unnecessary copies by recv()ing data directly into the expat buffer | Florent Le Coz | |
2014-02-27 | Use scatter/gather io with sendmsg to avoid concataning strings all the time | Florent Le Coz | |
2014-02-22 | Consider that the connect() succeded if errno EISCONN | Florent Le Coz | |
Apparently on some systems, subsquent connect() calls may fail with EISCONN error, to indicate that the connection succeded in the background, instead of returning 0. | |||
2014-02-22 | Save the addrinfo values for reuse on subsequent connect() call | Florent Le Coz | |
2014-02-22 | Connection to servers does not block the process anymore | Florent Le Coz | |
2014-02-20 | Do not receive SIGPIPE when send() is called on a closed socket | Florent Le Coz | |
The error is handled using the return value | |||
2014-02-19 | Send unavailable presence to all muc when the IRC server closes the connection | Florent Le Coz | |
2014-02-08 | Enable TCP keepalive on sockets | Florent Le Coz | |
2014-02-08 | Use strerror and log_error instead of perrror | Florent Le Coz | |
2014-02-08 | Be verbose about IRC server connection failures, and handle them properly | Florent Le Coz | |
2014-01-13 | Add missing stdexcept includes | Florent Le Coz | |
2014-01-04 | Add missing errno.h includes | Florent Le Coz | |
2014-01-04 | Do not throw an exception when recv returns and error, just close the socket | Florent Le Coz | |
2014-01-04 | Keep a "connected" state in the SocketHandler class | Florent Le Coz | |
2013-12-24 | connect() returns a boolean | Florent Le Coz | |
2013-12-23 | Read a variable number of bytes, 4096 by default | Florent Le Coz | |
2013-12-03 | Use the logger everywhere | Florent Le Coz | |
2013-11-10 | Add include for perror | Florent Le Coz | |
2013-11-03 | Exit the poller when it handles no connection at all | Florent Le Coz | |
2013-11-02 | Move the basic socket implementation into the SocketHandler class | Florent Le Coz | |
(that is, the read/write/connect/etc) Because this code is actually common for both the IrcClient and XmppComponent class. These two classes have to implement some higher level callbacks (parsing the data provided in the buffers, doing stuff when the connection is done) instead of doing the read/write/connect low level things. |