Skip to content
Snippets Groups Projects
Commit b7cfb400 authored by Eric S. Raymond's avatar Eric S. Raymond
Browse files

A start on server pooling.

parent 2d823c5e
No related branches found
No related tags found
No related merge requests found
......@@ -68,10 +68,11 @@ class Session():
# expires, then reconnect and resume transmission if the
# queue fills up again.
if not self.server:
self.server = self.irker.irc.server()
self.server = self.irker.allocate_server(self.servername,
self.port,
self.name())
self.irker.debug(1, "TTL bump (connection) at %s" % time.asctime())
self.last_active = time.time()
self.server.connect(self.servername, self.port, self.name())
elif self.queue.empty():
if time.time() > self.last_active + TTL:
self.irker.debug(1, "timing out inactive connection at %s" % time.asctime())
......@@ -109,6 +110,11 @@ class Irker:
"Debugging information."
if self.debuglevel >= level:
sys.stderr.write("irker[%d]: %s\n" % (self.debuglevel, errmsg))
def allocate_server(self, servername, port, nick):
"Allocate a new server instance."
newserver = self.irc.server()
newserver.connect(servername, port, nick)
return newserver
def handle(self, line):
"Perform a JSON relay request."
try:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment