From f14ac4df604a27a7e0cd3315cf57abcfb7424123 Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Wed, 10 Aug 2016 20:57:05 +0200 Subject: net.server_epoll: Make addclient use wrapclient --- net/server_epoll.lua | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) (limited to 'net/server_epoll.lua') diff --git a/net/server_epoll.lua b/net/server_epoll.lua index c450f658..c1bcbc39 100644 --- a/net/server_epoll.lua +++ b/net/server_epoll.lua @@ -424,12 +424,6 @@ function interface:onconnect() self.listeners.onconnect(self); end -local function addclient(addr, port, listeners, pattern, tls) - local conn, err = socket.connect(addr, port); - if not conn then return conn, err; end - return wrapsocket(conn, nil, pattern, listeners, tls); -end - local function addserver(addr, port, listeners, pattern, tls) local conn, err = socket.bind(addr, port, cfg.tcp_backlog); if not conn then return conn, err; end @@ -466,6 +460,20 @@ local function wrapclient(conn, addr, port, listeners, pattern, tls) return client; end +local function addclient(addr, port, listeners, pattern, tls) + local conn, err = socket.connect(addr, port); + if not conn then return conn, err; end + conn:settimeout(0); + local client = wrapclient(conn, addr, port, listeners, pattern, tls); + if tls then + client._tls = false; + client:starttls(); + else + client:setflags(true, true); + end + return client; +end + local function link(from, to) from.listeners = setmetatable({ onincoming = function (_, data) -- cgit v1.2.3