Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | net.server_epoll: Process all queued events from epoll before timers | Kim Alvefur | 2021-10-21 | 1 | -2/+4 |
| | | | | | | | | | Should call timers less frequently when many sockets are waiting for processing. May help under heavy load. Requested by Ge0rG Backport of 2bcd84123eba requested by Roi | ||||
* | net.server_epoll: Add a hard deadline on shutdown to extra-fix #1670 | Kim Alvefur | 2021-09-20 | 1 | -0/+12 |
| | | | | Should ensure shutdown even if sockets somehow take a very long to get closed. | ||||
* | net.server_epoll: Close sockets added after shutdown signal (fixes #1670) | Kim Alvefur | 2021-09-20 | 1 | -0/+6 |
| | | | | | This should ensure that sockets get closed even if they are added after the quit signal. Otherwise they may keep the server alive. | ||||
* | net.server_epoll: Fix to preserve ids of readded timers | Kim Alvefur | 2021-08-31 | 1 | -2/+2 |
| | | | | | | | Likely affected rescheduling but have no reports of this. After readding a timer, it would have been issued a new id. Rescheduling would use the previous id, thus not working. | ||||
* | net.server_epoll: Fix off-by-one in 2c559953ad41 | Kim Alvefur | 2021-01-10 | 1 | -1/+1 |
| | | | | Thanks tmolitor | ||||
* | net.server_epoll: Ensure timers can't run more than once per tick | Kim Alvefur | 2021-01-08 | 1 | -2/+18 |
| | | | | | | | | This makes sure that a timer that returns 0 (or less) does not prevent runtimers() from completing, as well as making sure a timer added with zero timeout from within a timer does not run until the next tick. Thanks tmolitor | ||||
* | net.server: Backport client parts of SNI support from trunk (#409) | Kim Alvefur | 2020-08-17 | 1 | -5/+15 |
| | | | | | | | | | | Partial backports of the following commits from trunk: 6c804b6b2ca2 net.http: Pass server name along for SNI (fixes #1408) 75d2874502c3 net.server_select: SNI support (#409) 9a905888b96c net.server_event: Add SNI support (#409) adc0672b700e net.server_epoll: Add support for SNI (#409) d4390c427a66 net.server: Handle server name (SNI) as extra argument | ||||
* | net.server_epoll: Fix indentation | Kim Alvefur | 2020-03-11 | 1 | -3/+3 |
| | | | | | | Some lines seem to have gotten the wrong indentation, possibly caused by Meld which often ignores lines with only whitespace changes and leaves their previous indentation. | ||||
* | net.server_epoll: Backport timer optimization 6c2370f17027 from trunk (see ↵ | Kim Alvefur | 2019-07-08 | 1 | -48/+29 |
| | | | | | | | #1388) The previous timer handling did not scale well and led to high CPU usage with many connections (each with at least an read timeout). | ||||
* | net.server_epoll: Restore wantread flag after pause (fixes #1354) | Kim Alvefur | 2019-05-04 | 1 | -1/+1 |
| | | | | | | | | | If a chunk of data has been received that is larger than the amount read at a time, then the connection is paused for a short time after which it tries to read some more. If, after that, there is still more data to read, it should do the same thing. However, because the "want read" flag is removed and was restored after the delayed reading, it would not schedule another delayed read. | ||||
* | net.server_epoll: Skip delayed continuation read on paused connections | Kim Alvefur | 2019-03-28 | 1 | -1/+1 |
| | | | | | | This should prevent #1333 in cases where LuaSockets buffer is "dirty", i.e. contains more data after a read, where it gets resumed with a short delay. | ||||
* | net.server_epoll: Handle LuaSec wantread/wantwrite conditions before ↵ | Kim Alvefur | 2019-03-28 | 1 | -5/+8 |
| | | | | | | | callbacks (fixes #1333) This prevents the :set(true) call from resuming a connection that was paused in the onincoming callback. | ||||
* | net.server_epoll: Rename handshake_timeout to ssl_handshake_timeout (fixes ↵ | Kim Alvefur | 2019-02-09 | 1 | -3/+3 |
| | | | | | | #1319) This is to match server_event, see 430797a8fc81 | ||||
* | net.server_epoll: Use send_timeout for write timout like other ↵ | Kim Alvefur | 2019-02-07 | 1 | -2/+2 |
| | | | | implementations (fixes #1316) | ||||
* | server_epoll: Add comments describing config options | Kim Alvefur | 2018-11-30 | 1 | -0/+15 |
| | |||||
* | net.server_epoll: Remove unused config option | Kim Alvefur | 2018-11-30 | 1 | -1/+0 |
| | |||||
* | server_epoll: Increase write timeout | Kim Alvefur | 2018-11-30 | 1 | -1/+1 |
| | | | | 7 may be too low for some slow machines and/or networks | ||||
* | net.server_epoll: Shuffle variables earlier to improve readability | Kim Alvefur | 2018-10-27 | 1 | -1/+1 |
| | |||||
* | net.server_epoll: Special handling of signal interrupts | Kim Alvefur | 2018-10-12 | 1 | -1/+1 |
| | |||||
* | net.server_epoll: Ignore ENOENT when deregitering socket | Kim Alvefur | 2018-10-12 | 1 | -1/+2 |
| | | | | It should not really happen | ||||
* | net.server_epoll: Graceful handling of registering already added socket | Kim Alvefur | 2018-10-12 | 1 | -1/+8 |
| | |||||
* | net.server: Swich method for connecting sockets with remotes | Kim Alvefur | 2018-10-12 | 1 | -1/+1 |
| | | | | | | | LuaSocket TCP sockets have have both :connect and :setpeername, which are the exact same function, however UDP sockets only have :setpeername. Switching to :setpeername allows most of this code to be generic wrt TCP/UDP. | ||||
* | net.server_epoll: Check return conditions of early socket setup | Kim Alvefur | 2018-10-12 | 1 | -2/+4 |
| | |||||
* | net.server_epoll: Add support for the conn_type argument to addclient | Kim Alvefur | 2018-10-12 | 1 | -8/+16 |
| | |||||
* | net.server_epoll: Assert successful creation of util.poll handle | Kim Alvefur | 2018-10-11 | 1 | -1/+1 |
| | |||||
* | net.server_epoll: Update copyright year | Kim Alvefur | 2018-10-11 | 1 | -1/+1 |
| | |||||
* | net.server: Require IP address as argument to addclient (no DNS names) | Kim Alvefur | 2018-10-11 | 1 | -4/+15 |
| | | | | The net.connect API should be used to resolve DNS names first | ||||
* | net.server_epoll: Log error number from wait() | Kim Alvefur | 2018-10-07 | 1 | -1/+1 |
| | |||||
* | net.server_epoll: Pass error number to logging | Kim Alvefur | 2018-10-06 | 1 | -1/+1 |
| | | | | Why do we ignore unused secondaries? | ||||
* | net.server_epoll: Fix luacheck annotation | Kim Alvefur | 2018-10-06 | 1 | -1/+1 |
| | |||||
* | net.server_epoll: Make :set_send a noop, should fix net.adns | Kim Alvefur | 2018-10-06 | 1 | -4/+3 |
| | | | | | | This is also a noop in server_event. Supposedly meant to prevent buffered writes from being sent to the socket, but that path becomes unreachable when net.adns replaces the public send method | ||||
* | net.server_epoll: Inherit Direct TLS flag from servers to their clients | Kim Alvefur | 2018-09-14 | 1 | -1/+2 |
| | |||||
* | net.server_epoll: Catch errors from luasec.wrap | Kim Alvefur | 2018-09-14 | 1 | -1/+5 |
| | | | | It throws if given an invalid TLS context | ||||
* | net.server_epoll: Delay wrapping sockets in TLS until just before first ↵ | Kim Alvefur | 2018-09-14 | 1 | -14/+21 |
| | | | | handshake | ||||
* | net.connect: Fix passing request table to new listener | Kim Alvefur | 2018-09-26 | 1 | -2/+2 |
| | | | | This could be a return value from ondetach | ||||
* | net.server: Call a 'onattach' callback when replacing listeners | Kim Alvefur | 2018-09-26 | 1 | -0/+1 |
| | |||||
* | net.server_epoll: Include errno in log messages | Kim Alvefur | 2018-09-26 | 1 | -6/+6 |
| | |||||
* | net.server_epoll: Factor out IP/port detection into its own method | Kim Alvefur | 2018-09-26 | 1 | -5/+10 |
| | |||||
* | net.server_epoll: Protect from errors in get{peer,sock}name | Kim Alvefur | 2018-09-26 | 1 | -4/+6 |
| | |||||
* | net.server_epoll: Watching instead of registering, seems more understandable | Kim Alvefur | 2018-09-24 | 1 | -2/+2 |
| | |||||
* | net.server_epoll: Simplify minimal string representation | Kim Alvefur | 2018-09-15 | 1 | -1/+1 |
| | | | | .conn might just be the FD sometimes | ||||
* | net.server_epoll: Add back setflags API for compat | Kim Alvefur | 2018-09-15 | 1 | -0/+13 |
| | |||||
* | net.server_epoll: Fix write signal handling in watchfd API | Kim Alvefur | 2018-09-15 | 1 | -3/+3 |
| | | | | The main loop calls :onwritable but here it was spelled :onwriteable | ||||
* | net.server_epoll: Use util.poll | Kim Alvefur | 2018-05-16 | 1 | -69/+74 |
| | |||||
* | net.server_epoll: Make read_size a server-wide option | Kim Alvefur | 2018-09-13 | 1 | -1/+2 |
| | | | | Can still be overriden per connection | ||||
* | net.server_epoll: Rename pattern to read_size | Kim Alvefur | 2018-09-13 | 1 | -10/+10 |
| | |||||
* | net.server_epoll: Refactor Direct TLS assumptions outwards | Kim Alvefur | 2018-09-13 | 1 | -8/+17 |
| | | | | | | | | | | The assumption that connections are "Direct TLS" when a TLS context is supplided should be broken. The goal is to make it easy to add a new API that can be given a TLS context at creation even if it should do STARTTLS. With this commit, only the exposed server_select-compatible API assumes Direct TLS when a TLS context is included. | ||||
* | net.server_epoll: Factor Direct TLS handling out of connection initialization | Kim Alvefur | 2018-09-13 | 1 | -6/+6 |
| | | | | | Eventually it should be possible to create a socket that has a TLS context but that does not automatically start TLS on connect. | ||||
* | net.server_epoll: Remove coercion of connections to strings | Kim Alvefur | 2018-09-13 | 1 | -8/+8 |
| | | | | No longer needed since util.logger does this now | ||||
* | net.server_epoll: Rename all variables holding TLS contexts for consistency | Kim Alvefur | 2018-09-13 | 1 | -13/+13 |
| |