XRootD
Loading...
Searching...
No Matches
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"
33
34using 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
43namespace XrdCms
44{
46 {{kYR_login, "login", static_cast<XrdCmsRouter::NodeMethod_t>(0)},
51 {kYR_mv, "mv", &XrdCmsNode::do_Mv},
54 {kYR_rm, "rm", &XrdCmsNode::do_Rm},
60/* Server */
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},
71 {kYR_try, "try", &XrdCmsNode::do_Try},
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
85namespace XrdCms
86{
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
110namespace 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
152namespace XrdCms
153{
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
173namespace XrdCms
174{
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
203namespace XrdCms
204{
223}
224
225// Supervisor routing by valid request
226//
const char * do_PrepDel(XrdCmsRRData &Arg)
const char * do_Gone(XrdCmsRRData &Arg)
const char * do_Locate(XrdCmsRRData &Arg)
const char * do_Update(XrdCmsRRData &Arg)
const char * do_Try(XrdCmsRRData &Arg)
const char * do_State(XrdCmsRRData &Arg)
const char * do_Space(XrdCmsRRData &Arg)
const char * do_Select(XrdCmsRRData &Arg)
const char * do_Mv(XrdCmsRRData &Arg)
const char * do_Trunc(XrdCmsRRData &Arg)
const char * do_Usage(XrdCmsRRData &Arg)
const char * do_Chmod(XrdCmsRRData &Arg)
const char * do_Load(XrdCmsRRData &Arg)
const char * do_Rm(XrdCmsRRData &Arg)
const char * do_PrepAdd(XrdCmsRRData &Arg)
const char * do_Ping(XrdCmsRRData &Arg)
const char * do_Have(XrdCmsRRData &Arg)
const char * do_Stats(XrdCmsRRData &Arg)
const char * do_Disc(XrdCmsRRData &Arg)
const char * do_Avail(XrdCmsRRData &Arg)
const char * do_Mkpath(XrdCmsRRData &Arg)
const char * do_Pong(XrdCmsRRData &Arg)
const char * do_Mkdir(XrdCmsRRData &Arg)
const char * do_StatFS(XrdCmsRRData &Arg)
const char * do_Rmdir(XrdCmsRRData &Arg)
const char * do_Status(XrdCmsRRData &Arg)
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_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_login
Definition YProtocol.hh:90
@ kYR_prepadd
Definition YProtocol.hh:96
@ kYR_chmod
Definition YProtocol.hh:91
@ 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_usage
Definition YProtocol.hh:116
@ kYR_trunc
Definition YProtocol.hh:113
@ kYR_status
Definition YProtocol.hh:112
@ kYR_stats
Definition YProtocol.hh:101
@ kYR_avail
Definition YProtocol.hh:102