⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 route.java

📁 有关java 的p2p应用,是一般很好的教程,有兴趣的朋友应该好好阅读一下
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
                    op = RouterOperation.GET_ROUTE_INFO;                    // obtain the PeerID                    pId = convertPeerID(args[i+1]);                                        if (pId == null) {                        consoleMessage("Error - Invalid PeerID argument");                        return ShellApp.appParamError;                    }                    break;                                    }  else  if (args[i].equals("local")) { // get info for my local route                                        if (args.length != 1) {                        return syntaxError();                    }                                        op = RouterOperation.GET_MY_LOCAL_ROUTE;                    break;                }                            }                        if (op == RouterOperation.GET_ALL_ROUTES_INFO && args.length != 0) {                return syntaxError();            }        }                // get the Router service        try {            EndpointService endpoint = (EndpointService) getGroup().getEndpointService();            EndpointRouter er = (EndpointRouter) endpoint.getMessageTransport("jxta");                        if (er == null) {                consoleMessage("Error - Could not find the Router transport");                return ShellApp.appMiscError;            }                        // Get the RouteControl object            RouteControl routeControl =  (RouteControl) er.transportControl(EndpointRouter.GET_ROUTE_CONTROL, null);                        if (routeControl == null) {                consoleMessage("Error - Could not obtain the Router routeControl Interface");                return ShellApp.appMiscError;            }                        if( RouterOperation.GET_MY_LOCAL_ROUTE == op ) {                // Get my local route                                println(routeControl.getMyLocalRoute().display());            } else if( RouterOperation.ROUTER_STATUS == op ) {                // Get current router config                                println("use CM :" + routeControl.useRouteCM());                println("use RouteResolver :" + routeControl.useRouteResolver());            } else if( RouterOperation.ENABLE_ROUTE_CM == op ) {                // Enable routeCM                                routeControl.enableRouteCM();            } else if( RouterOperation.DISABLE_ROUTE_CM == op ) {                // Disable routeCM                                routeControl.disableRouteCM();            } else if( RouterOperation.ENABLE_ROUTE_RESOLVER == op ) {                // Enable routeResolver                                routeControl.enableRouteResolver();            } else if( RouterOperation.DISABLE_ROUTE_RESOLVER == op ) {                // Disable routeResolver                                routeControl.disableRouteResolver();            } else if( RouterOperation.GET_ALL_ROUTES_INFO == op ) {                // Get all route info                                List routes  = routeControl.getAllRoutesInfo();                                if (routes == null) {                    consoleMessage("Error - get all routes info failed");                    return ShellApp.appMiscError;                }                                println( "Routes for PeerGroup : " + getGroup()  );                                Iterator eachRoute = routes.iterator();                while (eachRoute.hasNext()) {                    RouteAdvertisement aRouteAdv = (RouteAdvertisement) eachRoute.next();                    println( aRouteAdv.display() );                }            } else if( RouterOperation.GET_ROUTE_INFO == op ) {                // Get route info for a destination                                routeAdv  = routeControl.getRouteInfo(pId);                                if (routeAdv == null) {                    consoleMessage("Error - No route found");                    return ShellApp.appNoError;                }                                println(routeAdv.display());            } else if( RouterOperation.DELETE_ROUTE == op ) {                // Delete a route                                ret  = routeControl.deleteRoute( pId);                                if (ret == RouteControl.FAILED) {                    consoleMessage("Error - Route delete failed");                    return ShellApp.appMiscError;                }                                if (ret == RouteControl.DIRECT_ROUTE) {                    consoleMessage("Error - Route delete failed as this is a direct route");                    return ShellApp.appMiscError;                }                                if (ret == RouteControl.INVALID_ROUTE) {                    consoleMessage("Error - Route delete failed as this is the peer route");                    return ShellApp.appMiscError;                }                                println("Delete route succeeded");            } else if( RouterOperation.ADD_ROUTE == op ) {                // Add route                                ret  = routeControl.addRoute(routeAdv);                                if (ret == RouteControl.FAILED) {                    consoleMessage("Error - Invalid route could not establish route");                    return ShellApp.appMiscError;                }                                if (ret == RouteControl.ALREADY_EXIST) {                    consoleMessage("Error - Route add failed as we already have a direct route");                    return ShellApp.appMiscError;                }                                if (ret == RouteControl.INVALID_ROUTE) {                    consoleMessage("Error - Route add failed cannot change our peer route");                    return ShellApp.appMiscError;                }                                println("Add route succeeded");            } else {                consoleMessage("Error - unrecognized operation" );            }        } catch (Exception ex) {            printStackTrace("Error - failure performing operation", ex);        }                return ShellApp.appNoError;    }        public int syntaxError() {        consoleMessage("Error - incorrect arguments");        return ShellApp.appParamError;    }        public String getDescription() {        return "Display information about a peer's route info";    }        public void help() {        println("NAME");        println("     route - " + getDescription() );        println(" ");        println("SYNOPSIS");        println("     route [-l] [info <peerID>|add <routeAdv>|delete <peerID>|status|enableCM|disableCM|enableResolver|disableResolver]");        println(" ");        println("DESCRIPTION");        println(" ");        println("route displays and manipulates information about the peer's ");        println("route information.");        println(" ");        println("Direct routes are routes which the peer has a direct");        println("connection with. Gateway routes are routes that involved");        println("intermediary gateways (hops).");        println("");        println("OPTIONS");        println(" ");        println(" [-l]            Dispaly peer IDs as well as peer names");        println(" ");        println("COMMANDS");        println(" ");        println(" status          : Router status info ");        println(" local           : Print local peer route info ");        println(" info <peerID>   : Obtain route information about a specific destination ");        println(" add <env1>      : Add new route information specified as a route advertisement");        println("                   stored in the environment variable env1");        println(" delete <peerID> : Delete route information for that destination ");        println(" enableCM        : enable persistent route CM cache ");        println(" disableCM       : disable persistent route CM cache ");        println(" enableResolver  : enable dynamic route resolution ");        println(" disableResolver : disable dynamic route resolution ");        println(" ");        println("EXAMPLE");        println(" ");        println("    JXTA>route");        println(" ");        println(" JXTA>route del urn:jxta:uuid-59616261646162614A787461503250330F5CE9DD8DE84079AA6F8C2C0F8B16DA03");        println("      Delete route succeeded");        println(" ");        println(" ");        println("This example displays all the route information");        println(" ");        println("SEE ALSO");        println("    whoami peers");    }        /**     *  Description of the Method     *     *@param  id  Description of Parameter     *@return     Description of the Returned Value     */    private String idToName( ID id ) {                String idstring = id.toString();        String name = (String) names.get( id );                if( null != name ) {            return name;        }                try {            Enumeration res;                        if( id instanceof PeerID ) {                res = discovery.getLocalAdvertisements( DiscoveryService.PEER, "PID", idstring );                                if( res.hasMoreElements() ) {                    name = ((PeerAdvertisement)res.nextElement()).getName();                }            } else if( id instanceof PeerGroupID ) {                res = discovery.getLocalAdvertisements( DiscoveryService.GROUP, "GID", idstring );                                if( res.hasMoreElements() ) {                    name = ((PeerGroupAdvertisement)res.nextElement()).getName();                }            }        } catch( IOException failed ) {        }                if( null != name ) {            names.put( id, name );        } else {            name = "[unknown]";        }                return name;    }        // from a string get a PeerID    private static PeerID convertPeerID(String pid) {                PeerID id = null;                try {            URI pID = new URI(pid);            id = (PeerID) IDFactory.fromURI( pID );        } catch ( URISyntaxException badID ) {            return null;        }                return id;    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -