Diff

core/s2smanager.lua @ 9936:8695b50368cd

core.s2smanager: Use util.session to create sessions
author Kim Alvefur <zash@zash.se>
date Fri, 29 Mar 2019 22:40:53 +0100
parent 9935:3dfd5f22e3c6
child 9938:4e8ba156738b
line wrap: on
line diff
--- a/core/s2smanager.lua	Fri Mar 29 22:37:12 2019 +0100
+++ b/core/s2smanager.lua	Fri Mar 29 22:40:53 2019 +0100
@@ -13,6 +13,7 @@
     = tostring, pairs, setmetatable;
 
 local logger_init = require "util.logger".init;
+local sessionlib = require "util.session";
 
 local log = logger_init("s2smanager");
 
@@ -26,29 +27,26 @@
 -- luacheck: std none
 
 local function new_incoming(conn)
-	local host_session = {
-		conn = conn,
-		type = "s2sin_unauthed",
-		direction = "incoming",
-		hosts = {},
-	};
-	host_session.log = logger_init("s2sin"..tostring(host_session):match("[a-f0-9]+$"));
+	local host_session = sessionlib.new("s2sin");
+	sessionlib.set_id(host_session);
+	sessionlib.set_logger(host_session);
+	sessionlib.set_conn(host_session, conn);
+	host_session.direction = "incoming";
+	host_session.session.hosts = {};
 	incoming_s2s[host_session] = true;
 	return host_session;
 end
 
 local function new_outgoing(from_host, to_host)
-	local host_session = {
-		to_host = to_host,
-		from_host = from_host,
-		host = from_host,
-		notopen = true,
-		type = "s2sout_unauthed",
-		direction = "outgoing",
-	};
+	local host_session = sessionlib.new("s2sout");
+	sessionlib.set_id(host_session);
+	sessionlib.set_logger(host_session);
+	host_session.to_host = to_host;
+	host_session.from_host = from_host;
+	host_session.host = from_host;
+	host_session.notopen = true;
+	host_session.direction = "outgoing";
 	hosts[from_host].s2sout[to_host] = host_session;
-	local conn_name = "s2sout"..tostring(host_session):match("[a-f0-9]*$");
-	host_session.log = logger_init(conn_name);
 	return host_session;
 end