def __send_worker_info(): def ___recv_info_cb(data): info = json.loads(data.decode('utf-8')) pubkey = open('pubkey.pem', 'r').read() TOJAuth(pubkey) self._idendesc = info['idendesc'] self._link = info['worker_link'] Proxy(self._link, TOJAuth.instance, self._idendesc, self._conn_link) self.center_conn = SocketConnection(info['center_link'], stream, self.center_addr, self.pend_filestream, self.del_pend_filestream) self.center_conn.add_close_callback(__retry) Proxy.instance.add_conn(self.center_conn) #self._init_blobclient() #Proxy.instance.register_call('test/','get_client_list',self._test_get_client_list) Proxy.instance.register_call('test/', 'test_dst', self._test_dst) #Proxy.instance.register_filter('test/',self._test_filter) try: mod.load('Notice', 'notice', self._idendesc, self._get_link) mod.load('UserMg', 'user', self._idendesc, self._get_link) mod.load('SquareMg', 'square', self._idendesc, self._get_link) mod.load('ProblemMg', 'problem', self._idendesc, self._get_link) mod.load('Mail', 'mail', self._idendesc, self._get_link) except Exception as e: print(e) if self._link == '/backend/2/': self._test_call(None) sock_ip, sock_port = self.sock_addr netio.send_pack( stream, bytes( json.dumps({ 'conntype': 'main', 'linkclass': 'backend', 'sock_ip': sock_ip, 'sock_port': sock_port, 'ws_ip': '210.70.137.215', 'ws_port': self.ws_port }), 'utf-8')) netio.recv_pack(stream, ___recv_info_cb)
def __conn_cb(): conn = Proxy.instance.get_conn(worker_link) if conn != None: __handle_pend(conn) main_stream.set_close_callback(None) main_stream.close() else: sock_ip,sock_port = self.sock_addr netio.send_pack(main_stream,bytes(json.dumps({ 'conntype':'main', 'link':self._link, 'sock_ip':sock_ip, 'sock_port':sock_port }),'utf-8')) netio.recv_pack(main_stream,__recv_cb)
def __init__(self,main_stream,link,idendesc,worker_info,center_link): global center_serv self.main_stream = main_stream self.link = link self.idendesc = idendesc self.sock_addr = (worker_info['sock_ip'],worker_info['sock_port']) netio.send_pack(self.main_stream,bytes(json.dumps({ 'idendesc':self.idendesc, 'worker_link':self.link, 'center_link':center_link }),'utf-8')) conn = SocketConnection(self.link,self.main_stream,self.sock_addr,center_serv.add_pend_filestream) conn.add_close_callback(lambda conn : self.close()) Proxy.instance.add_conn(conn)
def __send_worker_info(): def ___recv_info_cb(data): info = json.loads(data.decode('utf-8')) pubkey = open('pubkey.pem','r').read() TOJAuth(pubkey) self._idendesc = info['idendesc'] self._link = info['worker_link'] Proxy(self._link,TOJAuth.instance,self._idendesc,self._conn_link) self.center_conn = SocketConnection(info['center_link'],stream, self.center_addr, self.pend_filestream, self.del_pend_filestream) self.center_conn.add_close_callback(__retry) Proxy.instance.add_conn(self.center_conn) #self._init_blobclient() #Proxy.instance.register_call('test/','get_client_list',self._test_get_client_list) Proxy.instance.register_call('test/','test_dst',self._test_dst) #Proxy.instance.register_filter('test/',self._test_filter) try: mod.load('Notice','notice',self._idendesc,self._get_link) mod.load('UserMg','user',self._idendesc,self._get_link) mod.load('SquareMg','square',self._idendesc,self._get_link) mod.load('ProblemMg','problem',self._idendesc,self._get_link) mod.load('Mail','mail',self._idendesc,self._get_link) except Exception as e: print(e) if self._link == '/backend/2/': self._test_call(None) sock_ip,sock_port = self.sock_addr netio.send_pack(stream,bytes(json.dumps({ 'conntype':'main', 'linkclass':'backend', 'sock_ip':sock_ip, 'sock_port':sock_port, 'ws_ip':'210.70.137.215', 'ws_port':self.ws_port }),'utf-8')) netio.recv_pack(stream,___recv_info_cb)
def __conn_cb(): conn = Proxy.instance.get_conn(worker_link) if conn != None: __handle_pend(conn) main_stream.set_close_callback(None) main_stream.close() else: sock_ip, sock_port = self.sock_addr netio.send_pack( main_stream, bytes( json.dumps({ 'conntype': 'main', 'link': self._link, 'sock_ip': sock_ip, 'sock_port': sock_port }), 'utf-8')) netio.recv_pack(main_stream, __recv_cb)
def __init__(self, main_stream, link, idendesc, worker_info, center_link): global center_serv self.main_stream = main_stream self.link = link self.idendesc = idendesc self.sock_addr = (worker_info['sock_ip'], worker_info['sock_port']) netio.send_pack( self.main_stream, bytes( json.dumps({ 'idendesc': self.idendesc, 'worker_link': self.link, 'center_link': center_link }), 'utf-8')) conn = SocketConnection(self.link, self.main_stream, self.sock_addr, center_serv.add_pend_filestream) conn.add_close_callback(lambda conn: self.close()) Proxy.instance.add_conn(conn)
def _handle_mainconn(self, main_stream, addr, info): link = info['link'] sock_ip = info['sock_ip'] sock_port = info['sock_port'] conn = Proxy.instance.get_conn(link) if conn != None: return if (link not in self._pend_mainconn_linkmap) or self._link > link: conn = SocketConnection(link, main_stream, (sock_ip, sock_port), self.pend_filestream, self.del_pend_filestream) Proxy.instance.add_conn(conn) netio.send_pack(main_stream, bytes(json.dumps(True), 'utf-8')) if link in self._pend_mainconn_linkmap: retids = self._pend_mainconn_linkmap.pop(link) for retid in retids: imc. async .ret(retid, conn) else: netio.send_pack(main_stream, bytes(json.dumps(False), 'utf-8'))
def _handle_mainconn(self,main_stream,addr,info): link = info['link'] sock_ip = info['sock_ip'] sock_port = info['sock_port'] conn = Proxy.instance.get_conn(link) if conn != None: return if (link not in self._pend_mainconn_linkmap) or self._link > link: conn = SocketConnection(link,main_stream,(sock_ip,sock_port), self.pend_filestream, self.del_pend_filestream) Proxy.instance.add_conn(conn) netio.send_pack(main_stream,bytes(json.dumps(True),'utf-8')) if link in self._pend_mainconn_linkmap: retids = self._pend_mainconn_linkmap.pop(link) for retid in retids: imc.async.ret(retid,conn) else: netio.send_pack(main_stream,bytes(json.dumps(False),'utf-8'))