00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 const char *XrdCmsRoutingCVSID = "$Id: XrdCmsRouting.cc 30949 2009-11-02 16:37:58Z ganis $";
00014
00015 #include "XrdCms/XrdCmsNode.hh"
00016 #include "XrdCms/XrdCmsRouting.hh"
00017
00018 using namespace XrdCms;
00019
00020
00021
00022
00023
00024
00025
00026
00027 namespace XrdCms
00028 {
00029 XrdCmsRouter::theRoute initRouter[] =
00030 {{kYR_login, "login", static_cast<XrdCmsRouter::NodeMethod_t>(0)},
00031 {kYR_chmod, "chmod", &XrdCmsNode::do_Chmod},
00032 {kYR_locate, "locate", &XrdCmsNode::do_Locate},
00033 {kYR_mkdir, "mkdir", &XrdCmsNode::do_Mkdir},
00034 {kYR_mkpath, "mkpath", &XrdCmsNode::do_Mkpath},
00035 {kYR_mv, "mv", &XrdCmsNode::do_Mv},
00036 {kYR_prepadd, "prepadd",&XrdCmsNode::do_PrepAdd},
00037 {kYR_prepdel, "prepdel",&XrdCmsNode::do_PrepDel},
00038 {kYR_rm, "rm", &XrdCmsNode::do_Rm},
00039 {kYR_rmdir, "rmdir", &XrdCmsNode::do_Rmdir},
00040 {kYR_select, "select", &XrdCmsNode::do_Select},
00041 {kYR_statfs, "statfs", &XrdCmsNode::do_StatFS},
00042 {kYR_stats, "stats", &XrdCmsNode::do_Stats},
00043 {kYR_trunc, "trunc", &XrdCmsNode::do_Trunc},
00044
00045 {kYR_avail, "avail", &XrdCmsNode::do_Avail},
00046 {kYR_disc, "disc", &XrdCmsNode::do_Disc},
00047 {kYR_gone, "gone", &XrdCmsNode::do_Gone},
00048 {kYR_have, "have", &XrdCmsNode::do_Have},
00049 {kYR_load, "load", &XrdCmsNode::do_Load},
00050 {kYR_ping, "ping", &XrdCmsNode::do_Ping},
00051 {kYR_pong, "pong", &XrdCmsNode::do_Pong},
00052 {kYR_space, "space", &XrdCmsNode::do_Space},
00053 {kYR_state, "state", &XrdCmsNode::do_State},
00054 {kYR_status, "status", &XrdCmsNode::do_Status},
00055 {kYR_try, "try", &XrdCmsNode::do_Try},
00056 {kYR_update, "update", &XrdCmsNode::do_Update},
00057 {kYR_usage, "usage", &XrdCmsNode::do_Usage},
00058 {0, 0, 0}};
00059 }
00060
00061
00062
00063 XrdCmsRouter XrdCms::Router(initRouter);
00064
00065
00066
00067
00068
00069 namespace XrdCms
00070 {
00071 XrdCmsRouting::theRouting initRDRrouting[] =
00072 {{kYR_chmod, XrdCmsRouting::AsyncQ1 | XrdCmsRouting::Forward
00073 | XrdCmsRouting::Repliable | XrdCmsRouting::Delayable},
00074 {kYR_locate, XrdCmsRouting::AsyncQ0
00075 | XrdCmsRouting::Repliable | XrdCmsRouting::Delayable},
00076 {kYR_mkdir, XrdCmsRouting::AsyncQ1 | XrdCmsRouting::Forward
00077 | XrdCmsRouting::Repliable | XrdCmsRouting::Delayable},
00078 {kYR_mkpath, XrdCmsRouting::AsyncQ1 | XrdCmsRouting::Forward
00079 | XrdCmsRouting::Repliable | XrdCmsRouting::Delayable},
00080 {kYR_mv, XrdCmsRouting::AsyncQ1 | XrdCmsRouting::Forward
00081 | XrdCmsRouting::Repliable | XrdCmsRouting::Delayable},
00082 {kYR_prepadd, XrdCmsRouting::isSync
00083 | XrdCmsRouting::Repliable | XrdCmsRouting::Delayable},
00084 {kYR_prepdel, XrdCmsRouting::isSync | XrdCmsRouting::Forward
00085 | XrdCmsRouting::Repliable | XrdCmsRouting::Delayable},
00086 {kYR_rm, XrdCmsRouting::AsyncQ1 | XrdCmsRouting::Forward
00087 | XrdCmsRouting::Repliable | XrdCmsRouting::Delayable},
00088 {kYR_rmdir, XrdCmsRouting::AsyncQ1 | XrdCmsRouting::Forward
00089 | XrdCmsRouting::Repliable | XrdCmsRouting::Delayable},
00090 {kYR_select, XrdCmsRouting::AsyncQ0
00091 | XrdCmsRouting::Repliable | XrdCmsRouting::Delayable},
00092 {kYR_statfs, XrdCmsRouting::AsyncQ0
00093 | XrdCmsRouting::Repliable | XrdCmsRouting::Delayable},
00094 {kYR_stats, XrdCmsRouting::AsyncQ0
00095 | XrdCmsRouting::Repliable | XrdCmsRouting::Delayable},
00096 {kYR_trunc, XrdCmsRouting::AsyncQ1 | XrdCmsRouting::Forward
00097 | XrdCmsRouting::Repliable | XrdCmsRouting::Delayable},
00098 {kYR_update, XrdCmsRouting::isSync | XrdCmsRouting::noArgs
00099 | XrdCmsRouting::Repliable},
00100 {0, 0}};
00101 }
00102
00103
00104
00105 XrdCmsRouting XrdCms::rdrVOps(initRDRrouting);
00106
00107
00108
00109
00110
00111 namespace XrdCms
00112 {
00113 XrdCmsRouting::theRouting initRSProuting[] =
00114 {{kYR_avail, XrdCmsRouting::isSync},
00115 {kYR_disc, XrdCmsRouting::isSync | XrdCmsRouting::noArgs},
00116 {kYR_gone, XrdCmsRouting::isSync},
00117 {kYR_have, XrdCmsRouting::AsyncQ0},
00118 {kYR_load, XrdCmsRouting::isSync},
00119 {kYR_pong, XrdCmsRouting::isSync | XrdCmsRouting::noArgs},
00120 {kYR_status, XrdCmsRouting::isSync | XrdCmsRouting::noArgs},
00121 {0, 0}};
00122 }
00123
00124
00125
00126 XrdCmsRouting XrdCms::rspVOps(initRSProuting);
00127
00128
00129
00130
00131
00132 namespace XrdCms
00133 {
00134 XrdCmsRouting::theRouting initSRVrouting[] =
00135 {{kYR_chmod, XrdCmsRouting::AsyncQ1},
00136 {kYR_disc, XrdCmsRouting::isSync | XrdCmsRouting::noArgs},
00137 {kYR_mkdir, XrdCmsRouting::AsyncQ1},
00138 {kYR_mkpath, XrdCmsRouting::AsyncQ1},
00139 {kYR_mv, XrdCmsRouting::AsyncQ1},
00140 {kYR_ping, XrdCmsRouting::isSync | XrdCmsRouting::noArgs},
00141 {kYR_prepadd, XrdCmsRouting::isSync},
00142 {kYR_prepdel, XrdCmsRouting::isSync},
00143 {kYR_rm, XrdCmsRouting::AsyncQ1},
00144 {kYR_rmdir, XrdCmsRouting::AsyncQ1},
00145 {kYR_space, XrdCmsRouting::isSync | XrdCmsRouting::noArgs},
00146 {kYR_state, XrdCmsRouting::AsyncQ0},
00147 {kYR_stats, XrdCmsRouting::AsyncQ0 | XrdCmsRouting::noArgs},
00148 {kYR_trunc, XrdCmsRouting::AsyncQ1},
00149 {kYR_try, XrdCmsRouting::isSync},
00150 {kYR_usage, XrdCmsRouting::isSync | XrdCmsRouting::noArgs},
00151 {0, 0}};
00152 }
00153
00154
00155
00156 XrdCmsRouting XrdCms::srvVOps(initSRVrouting);
00157
00158
00159
00160
00161
00162 namespace XrdCms
00163 {
00164 XrdCmsRouting::theRouting initSUProuting[] =
00165 {{kYR_chmod, XrdCmsRouting::AsyncQ1 | XrdCmsRouting::Forward},
00166 {kYR_disc, XrdCmsRouting::isSync | XrdCmsRouting::noArgs},
00167 {kYR_mkdir, XrdCmsRouting::AsyncQ1 | XrdCmsRouting::Forward},
00168 {kYR_mkpath, XrdCmsRouting::AsyncQ1 | XrdCmsRouting::Forward},
00169 {kYR_mv, XrdCmsRouting::AsyncQ1 | XrdCmsRouting::Forward},
00170 {kYR_ping, XrdCmsRouting::isSync | XrdCmsRouting::noArgs},
00171 {kYR_prepadd, XrdCmsRouting::isSync},
00172 {kYR_prepdel, XrdCmsRouting::isSync | XrdCmsRouting::Forward},
00173 {kYR_rm, XrdCmsRouting::AsyncQ1 | XrdCmsRouting::Forward},
00174 {kYR_rmdir, XrdCmsRouting::AsyncQ1 | XrdCmsRouting::Forward},
00175 {kYR_space, XrdCmsRouting::isSync | XrdCmsRouting::noArgs},
00176 {kYR_state, XrdCmsRouting::isSync},
00177 {kYR_stats, XrdCmsRouting::AsyncQ0 | XrdCmsRouting::noArgs},
00178 {kYR_trunc, XrdCmsRouting::AsyncQ1 | XrdCmsRouting::Forward},
00179 {kYR_try, XrdCmsRouting::isSync},
00180 {kYR_usage, XrdCmsRouting::isSync | XrdCmsRouting::noArgs},
00181 {0, 0}};
00182 }
00183
00184
00185
00186 XrdCmsRouting XrdCms::supVOps(initSUProuting);