def handle_stream(self, stream, addr): def _recv_conn_info(data): info = json.loads(data.decode('utf-8')) try: conntype = info['conntype'] except KeyError: socket_stream.close() if conntype == 'main': self._handle_mainconn(sock_stream, addr, info) elif conntype == 'file': self._handle_fileconn(sock_stream, addr, info) else: socket_stream.close() fd = stream.fileno() self._ioloop.remove_handler(fd) sock_stream = SocketStream( socket.fromfd(fd, socket.AF_INET, socket.SOCK_STREAM | socket.SOCK_NONBLOCK, 0)) netio.recv_pack(sock_stream, _recv_conn_info)
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 handle_stream(self,stream,addr): def _recv_conn_info(data): info = json.loads(data.decode('utf-8')) conntype = info['conntype'] if conntype == 'main': self._handle_mainconn(sock_stream,addr,info) elif conntype == 'file': self._handle_fileconn(sock_stream,addr,info) fd = stream.fileno() self._ioloop.remove_handler(fd) sock_stream = SocketStream(socket.fromfd(fd,socket.AF_INET,socket.SOCK_STREAM | socket.SOCK_NONBLOCK,0)) netio.recv_pack(sock_stream,_recv_conn_info)
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 __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)