aboutsummaryrefslogtreecommitdiffstats
path: root/net/server_epoll.lua
Commit message (Collapse)AuthorAgeFilesLines
* net.server_epoll: Reschedule delayed timers relative to current timeKim Alvefur2018-10-281-3/+7
| | | | | This should normally never happen, but can be reproduced by suspending the process a while.
* net.server: Add an API for holding writes of outgoing dataKim Alvefur2018-10-251-2/+18
|
* net.server_epoll: Shuffle variables earlier to improve readabilityKim Alvefur2018-10-271-1/+1
|
* net.server_epoll: Special handling of signal interruptsKim Alvefur2018-10-121-1/+1
|
* net.server_epoll: Ignore ENOENT when deregitering socketKim Alvefur2018-10-121-1/+2
| | | | It should not really happen
* net.server_epoll: Graceful handling of registering already added socketKim Alvefur2018-10-121-1/+8
|
* net.server: Swich method for connecting sockets with remotesKim Alvefur2018-10-121-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 setupKim Alvefur2018-10-121-2/+4
|
* net.server_epoll: Add support for the conn_type argument to addclientKim Alvefur2018-10-121-8/+16
|
* net.server_epoll: Assert successful creation of util.poll handleKim Alvefur2018-10-111-1/+1
|
* net.server_epoll: Update copyright yearKim Alvefur2018-10-111-1/+1
|
* net.server: Require IP address as argument to addclient (no DNS names)Kim Alvefur2018-10-111-4/+15
| | | | The net.connect API should be used to resolve DNS names first
* net.server_epoll: Log error number from wait()Kim Alvefur2018-10-071-1/+1
|
* net.server_epoll: Pass error number to loggingKim Alvefur2018-10-061-1/+1
| | | | Why do we ignore unused secondaries?
* net.server_epoll: Fix luacheck annotationKim Alvefur2018-10-061-1/+1
|
* net.server_epoll: Make :set_send a noop, should fix net.adnsKim Alvefur2018-10-061-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 clientsKim Alvefur2018-09-141-1/+2
|
* net.server_epoll: Catch errors from luasec.wrapKim Alvefur2018-09-141-1/+5
| | | | It throws if given an invalid TLS context
* net.server_epoll: Delay wrapping sockets in TLS until just before first ↵Kim Alvefur2018-09-141-14/+21
| | | | handshake
* net.connect: Fix passing request table to new listenerKim Alvefur2018-09-261-2/+2
| | | | This could be a return value from ondetach
* net.server: Call a 'onattach' callback when replacing listenersKim Alvefur2018-09-261-0/+1
|
* net.server_epoll: Include errno in log messagesKim Alvefur2018-09-261-6/+6
|
* net.server_epoll: Factor out IP/port detection into its own methodKim Alvefur2018-09-261-5/+10
|
* net.server_epoll: Protect from errors in get{peer,sock}nameKim Alvefur2018-09-261-4/+6
|
* net.server_epoll: Watching instead of registering, seems more understandableKim Alvefur2018-09-241-2/+2
|
* net.server_epoll: Simplify minimal string representationKim Alvefur2018-09-151-1/+1
| | | | .conn might just be the FD sometimes
* net.server_epoll: Add back setflags API for compatKim Alvefur2018-09-151-0/+13
|
* net.server_epoll: Fix write signal handling in watchfd APIKim Alvefur2018-09-151-3/+3
| | | | The main loop calls :onwritable but here it was spelled :onwriteable
* net.server_epoll: Use util.pollKim Alvefur2018-05-161-69/+74
|
* net.server_epoll: Make read_size a server-wide optionKim Alvefur2018-09-131-1/+2
| | | | Can still be overriden per connection
* net.server_epoll: Rename pattern to read_sizeKim Alvefur2018-09-131-10/+10
|
* net.server_epoll: Refactor Direct TLS assumptions outwardsKim Alvefur2018-09-131-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 initializationKim Alvefur2018-09-131-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 stringsKim Alvefur2018-09-131-8/+8
| | | | No longer needed since util.logger does this now
* net.server_epoll: Rename all variables holding TLS contexts for consistencyKim Alvefur2018-09-131-13/+13
|
* net.server: Set default read timeout to 14 minutes (fixes #971)Kim Alvefur2018-07-061-1/+1
|
* net.server: Add watchfd, a simple API for watching file descriptorsKim Alvefur2018-05-091-0/+21
|
* net.server_epoll: Guard against connection missing the getpeername method ↵Kim Alvefur2018-05-021-1/+1
| | | | (thanks LuaSec)
* net.server_epoll: Retry retrieving peername once connectedKim Alvefur2018-05-021-0/+3
|
* net.server_epoll: Handle connection being closed and destroyed in onconnect ↵Kim Alvefur2018-05-021-0/+1
| | | | callback
* vairious: Add annotation when an empty environment is set [luacheck]Kim Alvefur2018-02-281-0/+1
|
* server_epoll: Onconnect should happen before first attempt to write to socketKim Alvefur2018-02-261-1/+1
|
* net.server_epoll: Spelling writeable -> writableKim Alvefur2018-02-241-6/+6
|
* net.server_epoll: Remove special casing for having sent an empty write ↵Kim Alvefur2018-02-241-7/+5
| | | | buffer because the wantwrite flag must be unset regardless
* net.server_epoll: Call onconnect listener on first successful read or writeKim Alvefur2018-02-241-29/+14
|
* server_epoll: Restore mark on connections which had the onconnect handler ↵Kim Alvefur2018-02-031-1/+4
| | | | called so it is only done once
* server_epoll: Rework how socket readyness is detectedKim Alvefur2018-02-021-7/+17
|
* net.server_epoll: Add interface:server() method to match server_event (fixes ↵Kim Alvefur2017-09-291-3/+7
| | | | c2s:show traceback in telnet console)
* net.server_epoll: Reset onwritable before calling onconnect (fixes traceback ↵Kim Alvefur2017-04-161-2/+2
| | | | if connection closed in onconnect)
* net.server_epoll: Attempt to simplify state controlKim Alvefur2017-03-271-22/+12
|