X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=transports%2Fstratum_http.py;h=659bae033d139d33546202bdb9b3de74eb0d22eb;hb=561047a590b4f1546174c8dc8814d0523533aae1;hp=d628df74fed0d906264db39df8311999bba22560;hpb=d59253c43af31da62b0fa247a54ab632e7473976;p=electrum-server.git diff --git a/transports/stratum_http.py b/transports/stratum_http.py index d628df7..659bae0 100644 --- a/transports/stratum_http.py +++ b/transports/stratum_http.py @@ -107,7 +107,7 @@ class StratumJSONRPCDispatcher(SimpleXMLRPCServer.SimpleXMLRPCDispatcher): responses.append(result.response()) continue - session = self.sessions.get(session_id) + session = self.dispatcher.get_session_by_address(session_id) self.dispatcher.process(session, req_entry) if req_entry['method'] == 'server.stop': @@ -254,16 +254,17 @@ class StratumJSONRPCServer(SocketServer.TCPServer, StratumJSONRPCDispatcher): flags |= fcntl.FD_CLOEXEC fcntl.fcntl(self.fileno(), fcntl.F_SETFD, flags) - self.sessions = {} def create_session(self): session_id = random_string(10) - self.sessions[session_id] = HttpSession(session_id) + session = HttpSession(session_id) + self.dispatcher.add_session(session) return session_id def poll_session(self, session_id): - q = self.sessions[session_id].pending_responses + session = self.dispatcher.get_session_by_address(session_id) + q = session.pending_responses responses = [] while not q.empty(): r = q.get()