00001 // Copyright (C) 2004, Kenneth C. Schalk 00002 // 00003 // This file is part of Vesta. 00004 // 00005 // Vesta is free software; you can redistribute it and/or 00006 // modify it under the terms of the GNU Lesser General Public 00007 // License as published by the Free Software Foundation; either 00008 // version 2.1 of the License, or (at your option) any later version. 00009 // 00010 // Vesta is distributed in the hope that it will be useful, 00011 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 // Lesser General Public License for more details. 00014 // 00015 // You should have received a copy of the GNU Lesser General Public 00016 // License along with Vesta; if not, write to the Free Software 00017 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00018 00019 // perfDebugControl.C - definition of client call for controlling 00020 // performance debugging features. 00021 00022 // Last modified on Mon Dec 13 12:42:23 EST 2004 by ken@xorian.net 00023 00024 #include "perfDebugControl.H" 00025 #include "VestaSourceSRPC.H" 00026 00027 Basics::uint64 PerfDebug::Set(Basics::uint64 setting, 00028 Text reposHost, 00029 Text reposPort, 00030 AccessControl::Identity who) 00031 throw (SRPC::failure) 00032 { 00033 SRPC* srpc; 00034 MultiSRPC::ConnId id = VestaSourceSRPC::Start(srpc, reposHost, reposPort); 00035 00036 srpc->start_call(VestaSourceSRPC::SetPerfDebug, 00037 VestaSourceSRPC::version); 00038 VestaSourceSRPC::send_identity(srpc, who); 00039 srpc->send_int64(setting); 00040 srpc->send_end(); 00041 00042 Basics::uint64 result = srpc->recv_int64(); 00043 srpc->recv_end(); 00044 VestaSourceSRPC::End(id); 00045 00046 return result; 00047 }