def __handler_delete_peer(self, request, context): util.logger.spam( f"rs_admin_service:__handler_delete_peer target({request.message})" ) self.__admin_manager.save_channel_manage_data(json.loads(request.meta)) peer_target = request.message channel_manager_data = json.loads(request.meta) channel_manager = ObjectManager().rs_service.channel_manager for channel in channel_manager_data: util.logger.spam( f"rs_admin_service:__handler_delete_peer channel({channel})") channel_manager.get_peer_manager(channel).\ remove_peer_by_target(channel_manager, peer_target) return loopchain_pb2.Message(code=message_code.Response.success)
def GetPeerList(self, request, context): """현재 RadioStation 에 접속된 Peer 목록을 구한다. :param request: CommonRequest :param context: :return: PeerList """ channel_manager = ObjectManager().rs_service.channel_manager channel_name = conf.LOOPCHAIN_DEFAULT_CHANNEL if not request.channel else request.channel if channel_name in channel_manager.get_channel_list(): peer_manager: PeerManager = channel_manager.get_peer_manager(channel_name) peer_list_dumped = peer_manager.peer_list_data.dump() else: peer_list_dumped = PeerListData().dump() return loopchain_pb2.PeerList( peer_list=peer_list_dumped )