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(): ...@@ -68,10 +68,11 @@ class Session():
# expires, then reconnect and resume transmission if the # expires, then reconnect and resume transmission if the
# queue fills up again. # queue fills up again.
if not self.server: 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.irker.debug(1, "TTL bump (connection) at %s" % time.asctime())
self.last_active = time.time() self.last_active = time.time()
self.server.connect(self.servername, self.port, self.name())
elif self.queue.empty(): elif self.queue.empty():
if time.time() > self.last_active + TTL: if time.time() > self.last_active + TTL:
self.irker.debug(1, "timing out inactive connection at %s" % time.asctime()) self.irker.debug(1, "timing out inactive connection at %s" % time.asctime())
...@@ -109,6 +110,11 @@ class Irker: ...@@ -109,6 +110,11 @@ class Irker:
"Debugging information." "Debugging information."
if self.debuglevel >= level: if self.debuglevel >= level:
sys.stderr.write("irker[%d]: %s\n" % (self.debuglevel, errmsg)) 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): def handle(self, line):
"Perform a JSON relay request." "Perform a JSON relay request."
try: 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