XRootD
XrdCmsRouting.cc
Go to the documentation of this file.
1 /******************************************************************************/
2 /* */
3 /* X r d C m s R o u t i n g . c c */
4 /* */
5 /* (c) 2007 by the Board of Trustees of the Leland Stanford, Jr., University */
6 /* All Rights Reserved */
7 /* Produced by Andrew Hanushevsky for Stanford University under contract */
8 /* DE-AC02-76-SFO0515 with the Department of Energy */
9 /* */
10 /* This file is part of the XRootD software suite. */
11 /* */
12 /* XRootD is free software: you can redistribute it and/or modify it under */
13 /* the terms of the GNU Lesser General Public License as published by the */
14 /* Free Software Foundation, either version 3 of the License, or (at your */
15 /* option) any later version. */
16 /* */
17 /* XRootD is distributed in the hope that it will be useful, but WITHOUT */
18 /* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or */
19 /* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public */
20 /* License for more details. */
21 /* */
22 /* You should have received a copy of the GNU Lesser General Public License */
23 /* along with XRootD in a file called COPYING.LESSER (LGPL license) and file */
24 /* COPYING (GPL license). If not, see <http://www.gnu.org/licenses/>. */
25 /* */
26 /* The copyright holder's institutional names and contributor's names may not */
27 /* be used to endorse or promote products derived from this software without */
28 /* specific prior written permission of the institution or contributor. */
29 /******************************************************************************/
30 
31 #include "XrdCms/XrdCmsNode.hh"
32 #include "XrdCms/XrdCmsRouting.hh"
33 
34 using namespace XrdCms;
35 
36 /******************************************************************************/
37 /* G l o b a l O b j e c t s */
38 /******************************************************************************/
39 /******************************************************************************/
40 /* R o u t e r T a b l e */
41 /******************************************************************************/
42 
43 namespace XrdCms
44 {
46  {{kYR_login, "login", static_cast<XrdCmsRouter::NodeMethod_t>(0)},
47  {kYR_chmod, "chmod", &XrdCmsNode::do_Chmod},
48  {kYR_locate, "locate", &XrdCmsNode::do_Locate},
49  {kYR_mkdir, "mkdir", &XrdCmsNode::do_Mkdir},
50  {kYR_mkpath, "mkpath", &XrdCmsNode::do_Mkpath},
51  {kYR_mv, "mv", &XrdCmsNode::do_Mv},
52  {kYR_prepadd, "prepadd",&XrdCmsNode::do_PrepAdd},
53  {kYR_prepdel, "prepdel",&XrdCmsNode::do_PrepDel},
54  {kYR_rm, "rm", &XrdCmsNode::do_Rm},
55  {kYR_rmdir, "rmdir", &XrdCmsNode::do_Rmdir},
56  {kYR_select, "select", &XrdCmsNode::do_Select},
57  {kYR_statfs, "statfs", &XrdCmsNode::do_StatFS},
58  {kYR_stats, "stats", &XrdCmsNode::do_Stats},
59  {kYR_trunc, "trunc", &XrdCmsNode::do_Trunc},
60 /* Server */
61  {kYR_avail, "avail", &XrdCmsNode::do_Avail},
62  {kYR_disc, "disc", &XrdCmsNode::do_Disc},
63  {kYR_gone, "gone", &XrdCmsNode::do_Gone},
64  {kYR_have, "have", &XrdCmsNode::do_Have},
65  {kYR_load, "load", &XrdCmsNode::do_Load},
66  {kYR_ping, "ping", &XrdCmsNode::do_Ping},
67  {kYR_pong, "pong", &XrdCmsNode::do_Pong},
68  {kYR_space, "space", &XrdCmsNode::do_Space},
69  {kYR_state, "state", &XrdCmsNode::do_State},
70  {kYR_status, "status", &XrdCmsNode::do_Status},
71  {kYR_try, "try", &XrdCmsNode::do_Try},
72  {kYR_update, "update", &XrdCmsNode::do_Update},
73  {kYR_usage, "usage", &XrdCmsNode::do_Usage},
74  {0, 0, 0}};
75 }
76 
77 // Request Name and Method Routing Table
78 //
80 
81 /******************************************************************************/
82 /* M a n a g e r R o u t i n g T a b l e */
83 /******************************************************************************/
84 
85 namespace XrdCms
86 {
97  {0, 0}};
98 }
99 
100 // Manager routing by valid request. Note that this routing applies to
101 // meta-manager requests only. We prohibit a meta-manager from requesting
102 // potentially destructive actions.
103 //
105 
106 /******************************************************************************/
107 /* R e d i r e c t o r R o u t i n g T a b l e */
108 /******************************************************************************/
109 
110 namespace XrdCms
111 {
141  {0, 0}};
142 }
143 
144 // Redirector routing by valid request
145 //
147 
148 /******************************************************************************/
149 /* R e s p o n s e R o u t i n g T a b l e */
150 /******************************************************************************/
151 
152 namespace XrdCms
153 {
162  {0, 0}};
163 }
164 
165 // Response routing by valid request
166 //
168 
169 /******************************************************************************/
170 /* S e r v e r R o u t i n g T a b l e */
171 /******************************************************************************/
172 
173 namespace XrdCms
174 {
192  {0, 0}};
193 }
194 
195 // Server routing by valid request
196 //
198 
199 /******************************************************************************/
200 /* S u p e r v i s o r R o u t i n g T a b l e */
201 /******************************************************************************/
202 
203 namespace XrdCms
204 {
222  {0, 0}};
223 }
224 
225 // Supervisor routing by valid request
226 //
const char * do_PrepDel(XrdCmsRRData &Arg)
Definition: XrdCmsNode.cc:893
const char * do_Gone(XrdCmsRRData &Arg)
Definition: XrdCmsNode.cc:366
const char * do_Locate(XrdCmsRRData &Arg)
Definition: XrdCmsNode.cc:533
const char * do_Update(XrdCmsRRData &Arg)
Definition: XrdCmsNode.cc:1722
const char * do_Try(XrdCmsRRData &Arg)
Definition: XrdCmsNode.cc:1700
const char * do_State(XrdCmsRRData &Arg)
Definition: XrdCmsNode.cc:1301
const char * do_Space(XrdCmsRRData &Arg)
Definition: XrdCmsNode.cc:1258
const char * do_Select(XrdCmsRRData &Arg)
Definition: XrdCmsNode.cc:1057
const char * do_Mv(XrdCmsRRData &Arg)
Definition: XrdCmsNode.cc:788
const char * do_Trunc(XrdCmsRRData &Arg)
Definition: XrdCmsNode.cc:1666
const char * do_Usage(XrdCmsRRData &Arg)
Definition: XrdCmsNode.cc:1738
const char * do_Chmod(XrdCmsRRData &Arg)
Definition: XrdCmsNode.cc:307
const char * do_Load(XrdCmsRRData &Arg)
Definition: XrdCmsNode.cc:459
const char * do_Rm(XrdCmsRRData &Arg)
Definition: XrdCmsNode.cc:918
const char * do_PrepAdd(XrdCmsRRData &Arg)
Definition: XrdCmsNode.cc:874
const char * do_Ping(XrdCmsRRData &Arg)
Definition: XrdCmsNode.cc:844
const char * do_Have(XrdCmsRRData &Arg)
Definition: XrdCmsNode.cc:408
const char * do_Stats(XrdCmsRRData &Arg)
Definition: XrdCmsNode.cc:1524
const char * do_Disc(XrdCmsRRData &Arg)
Definition: XrdCmsNode.cc:341
const char * do_Avail(XrdCmsRRData &Arg)
Definition: XrdCmsNode.cc:286
const char * do_Mkpath(XrdCmsRRData &Arg)
Definition: XrdCmsNode.cc:756
const char * do_Pong(XrdCmsRRData &Arg)
Definition: XrdCmsNode.cc:862
const char * do_Mkdir(XrdCmsRRData &Arg)
Definition: XrdCmsNode.cc:724
const char * do_StatFS(XrdCmsRRData &Arg)
Definition: XrdCmsNode.cc:1481
const char * do_Rmdir(XrdCmsRRData &Arg)
Definition: XrdCmsNode.cc:953
const char * do_Status(XrdCmsRRData &Arg)
Definition: XrdCmsNode.cc:1589
const char *(XrdCmsNode::* NodeMethod_t)(XrdCmsRRData &)
XrdCmsRouting manVOps
XrdCmsRouting::theRouting initRSProuting[]
XrdCmsRouter Router
XrdCmsRouting supVOps
XrdCmsRouting::theRouting initMANrouting[]
XrdCmsRouting::theRouting initSRVrouting[]
XrdCmsRouting rspVOps
XrdCmsRouting::theRouting initRDRrouting[]
XrdCmsRouter::theRoute initRouter[]
XrdCmsRouting srvVOps
XrdCmsRouting::theRouting initSUProuting[]
XrdCmsRouting rdrVOps
@ kYR_ping
Definition: YProtocol.hh:107
@ kYR_select
Definition: YProtocol.hh:100
@ kYR_mkpath
Definition: YProtocol.hh:94
@ kYR_prepdel
Definition: YProtocol.hh:97
@ kYR_statfs
Definition: YProtocol.hh:111
@ kYR_space
Definition: YProtocol.hh:109
@ kYR_disc
Definition: YProtocol.hh:103
@ kYR_login
Definition: YProtocol.hh:90
@ kYR_prepadd
Definition: YProtocol.hh:96
@ kYR_chmod
Definition: YProtocol.hh:91
@ kYR_try
Definition: YProtocol.hh:114
@ kYR_rmdir
Definition: YProtocol.hh:99
@ kYR_mkdir
Definition: YProtocol.hh:93
@ kYR_state
Definition: YProtocol.hh:110
@ kYR_locate
Definition: YProtocol.hh:92
@ kYR_update
Definition: YProtocol.hh:115
@ kYR_have
Definition: YProtocol.hh:105
@ kYR_rm
Definition: YProtocol.hh:98
@ kYR_pong
Definition: YProtocol.hh:108
@ kYR_usage
Definition: YProtocol.hh:116
@ kYR_gone
Definition: YProtocol.hh:104
@ kYR_trunc
Definition: YProtocol.hh:113
@ kYR_status
Definition: YProtocol.hh:112
@ kYR_mv
Definition: YProtocol.hh:95
@ kYR_stats
Definition: YProtocol.hh:101
@ kYR_load
Definition: YProtocol.hh:106
@ kYR_avail
Definition: YProtocol.hh:102