Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

VestaSourceServer.C File Reference

#include <time.h>
#include <assert.h>
#include <zlib.h>
#include <SRPC.H>
#include <Thread.H>
#include <LimService.H>
#include <OS.H>
#include "VestaSourceSRPC.H"
#include "VestaSource.H"
#include "VDirVolatileRoot.H"
#include "VRConcurrency.H"
#include "VestaConfig.H"
#include "VestaSourceServer.H"
#include "FPShortId.H"
#include "logging.H"
#include "VestaSourceImpl.H"
#include "Mastership.H"
#include "Replication.H"
#include "ReposStats.H"
#include "FdCache.H"
#include "dupe.H"
#include "lock_timing.H"
#include "nfsStats.H"

Go to the source code of this file.

Defines

#define DEF_MAX_RUNNING   32
#define DEF_MAX_BLOCKED   8
#define STACK_SIZE   256000L

Functions

void SRPC_Call_Stats_Helper_stats_init () throw ()
AccessControl::Identity srpc_recv_identity (SRPC *srpc, int intf_ver, bool access_needed)
void MakeFilesImmutable (SRPC *srpc, int intf_ver)
void SetIndexMaster (SRPC *srpc, int intf_ver)
void VSStat (SRPC *srpc, int intf_ver)
void VSRead (SRPC *srpc, int intf_ver)
void VSWrite (SRPC *srpc, int intf_ver)
void VSSetExecutable (SRPC *srpc, int intf_ver)
void VSSetSize (SRPC *srpc, int intf_ver)
void VSSetTimestamp (SRPC *srpc, int intf_ver)
void VestaSourceReceptionist (SRPC *srpc, int intf_ver, int proc_id, void *arg)
void VestaSourceFailure (SRPC *srpc, const SRPC::failure &f, void *arg)
void VestaSourceServerExport ()

Variables

const char * Version
time_t serverStartTime


Define Documentation

#define DEF_MAX_BLOCKED   8
 

Definition at line 63 of file VestaSourceServer.C.

#define DEF_MAX_RUNNING   32
 

Definition at line 62 of file VestaSourceServer.C.

#define STACK_SIZE   256000L
 

Definition at line 64 of file VestaSourceServer.C.


Function Documentation

void MakeFilesImmutable SRPC srpc,
int  intf_ver
 

Definition at line 1607 of file VestaSourceServer.C.

References VRErrorCode::invalidArgs, LongId::lookup(), VestaSource::makeFilesImmutable(), ReadersWritersLock::releaseWrite(), RWLOCK_LOCKED_REASON, srpc_recv_identity(), and LongId::value.

void SetIndexMaster SRPC srpc,
int  intf_ver
 

Definition at line 1648 of file VestaSourceServer.C.

References VRErrorCode::invalidArgs, LongId::lookup(), ReadersWritersLock::releaseWrite(), RWLOCK_LOCKED_REASON, VestaSource::setIndexMaster(), srpc_recv_identity(), and LongId::value.

void SRPC_Call_Stats_Helper_stats_init  )  throw ()
 

Definition at line 216 of file VestaSourceServer.C.

References SRPC_Call_Stats::Helper::stats_key.

AccessControl::Identity srpc_recv_identity SRPC srpc,
int  intf_ver,
bool  access_needed
 

Definition at line 298 of file VestaSourceServer.C.

References AccessControl::admit(), SRPC::buffer_too_small, AccessControl::IdentityRep::global, AccessControl::IdentityRep::gssapi, SRPC::invalid_parameter, NEW, NEW_CONSTR, NEW_PTRFREE_ARRAY, SRPC::protocol_violation, and AccessControl::IdentityRep::unix_flavor.

Referenced by MakeFilesImmutable(), SetIndexMaster(), VSAtomic(), VSRead(), VSSetExecutable(), VSSetSize(), VSSetTimestamp(), and VSWrite().

void VestaSourceFailure SRPC srpc,
const SRPC::failure f,
void *  arg
 

Definition at line 2886 of file VestaSourceServer.C.

References Text::cchars(), DBG_ALWAYS, DBG_SRPC, Repos::dprintf(), Repos::isDebugLevel(), SRPC::partner_went_away, SRPC::failure::r, and SRPC::remote_socket().

Referenced by VestaSourceServerExport().

void VestaSourceReceptionist SRPC srpc,
int  intf_ver,
int  proc_id,
void *  arg
 

Definition at line 2689 of file VestaSourceServer.C.

References VestaSourceSRPC::AcquireMastership, VestaSourceSRPC::Atomic, VestaSourceSRPC::AtomicCancel, VestaSourceSRPC::AtomicDeclare, VestaSourceSRPC::AtomicResync, VestaSourceSRPC::AtomicRun, VestaSourceSRPC::AtomicTarget, VestaSourceSRPC::AtomicTestMaster, Text::cchars(), VestaSourceSRPC::CedeMastership, VestaSourceSRPC::CollapseBase, VestaSourceSRPC::CreateVolatileDirectory, DBG_ALWAYS, VestaSourceSRPC::DeleteVolatileDirectory, Repos::dprintf(), VestaSourceSRPC::FPToShortId, VestaSourceSRPC::GetAttrib, VestaSourceSRPC::GetAttrib2, VestaSourceSRPC::GetAttribHistory, VestaSourceSRPC::GetBase, VestaSourceSRPC::GetNFSInfo, VestaSourceSRPC::GetServerInfo, VestaSourceSRPC::GetStats, VestaSourceSRPC::GetUserInfo, VestaSourceSRPC::InAttribs, VestaSourceSRPC::InsertAppendableDirectory, VestaSourceSRPC::InsertFile, VestaSourceSRPC::InsertGhost, VestaSourceSRPC::InsertImmutableDirectory, VestaSourceSRPC::InsertMutableDirectory, VestaSourceSRPC::InsertMutableFile, VestaSourceSRPC::InsertStub, VestaSourceSRPC::List, VestaSourceSRPC::ListAttribs, VestaSourceSRPC::Lookup, VestaSourceSRPC::LookupIndex, VestaSourceSRPC::LookupPathname, VestaSourceSRPC::MakeFilesImmutable, VestaSourceSRPC::MakeMutable, VestaSourceSRPC::MeasureDirectory, VestaSourceSRPC::Read, VestaSourceSRPC::ReadWholeCompressed, VestaSourceSRPC::ReallyDelete, VestaSourceSRPC::RefreshAccessTables, VestaSourceSRPC::RenameTo, VestaSourceSRPC::Replicate, VestaSourceSRPC::ReplicateAttribs, VestaSourceSRPC::SetExecutable, VestaSourceSRPC::SetIndexMaster, VestaSourceSRPC::SetPerfDebug, VestaSourceSRPC::SetSize, VestaSourceSRPC::SetTimestamp, VestaSourceSRPC::Stat, VestaSourceSRPC::version, SRPC::version_skew, VSAtomic(), VSRead(), VSSetExecutable(), VSSetSize(), VSSetTimestamp(), VSStat(), VSWrite(), VestaSourceSRPC::Write, and VestaSourceSRPC::WriteAttrib.

Referenced by VestaSourceServerExport().

void VestaSourceServerExport  ) 
 

Definition at line 2902 of file VestaSourceServer.C.

References Text::cchars(), DBG_ALWAYS, DEF_MAX_BLOCKED, DEF_MAX_RUNNING, Repos::dprintf(), LimService::Forked_Run(), VestaConfig::get(), VestaConfig::get_int(), VestaConfig::get_Text(), VestaConfig::failure::msg, STACK_SIZE, VestaSourceFailure(), and VestaSourceReceptionist().

Referenced by main().

void VSRead SRPC srpc,
int  intf_ver
 

Definition at line 1922 of file VestaSourceServer.C.

References VRErrorCode::invalidArgs, LongId::lookup(), VRErrorCode::ok, VestaSource::read(), ReadersWritersLock::releaseRead(), RWLOCK_LOCKED_REASON, srpc_recv_identity(), and LongId::value.

Referenced by VestaSourceReceptionist().

void VSSetExecutable SRPC srpc,
int  intf_ver
 

Definition at line 2022 of file VestaSourceServer.C.

References VRErrorCode::invalidArgs, LongId::lookup(), ReadersWritersLock::releaseWrite(), RWLOCK_LOCKED_REASON, VestaSource::setExecutable(), srpc_recv_identity(), and LongId::value.

Referenced by VestaSourceReceptionist().

void VSSetSize SRPC srpc,
int  intf_ver
 

Definition at line 2062 of file VestaSourceServer.C.

References VRErrorCode::invalidArgs, LongId::lookup(), ReadersWritersLock::releaseWrite(), RWLOCK_LOCKED_REASON, VestaSource::setSize(), srpc_recv_identity(), and LongId::value.

Referenced by VestaSourceReceptionist().

void VSSetTimestamp SRPC srpc,
int  intf_ver
 

Definition at line 2104 of file VestaSourceServer.C.

References VRErrorCode::invalidArgs, LongId::lookup(), ReadersWritersLock::releaseWrite(), RWLOCK_LOCKED_REASON, VestaSource::setTimestamp(), srpc_recv_identity(), and LongId::value.

Referenced by VestaSourceReceptionist().

void VSStat SRPC srpc,
int  intf_ver
 

Definition at line 1881 of file VestaSourceServer.C.

References VestaSource::executable(), VRErrorCode::invalidArgs, LongId::lookup(), VRErrorCode::ok, ReadersWritersLock::releaseRead(), RWLOCK_LOCKED_REASON, VestaSource::size(), VestaSource::timestamp(), and LongId::value.

Referenced by VestaSourceReceptionist().

void VSWrite SRPC srpc,
int  intf_ver
 

Definition at line 1973 of file VestaSourceServer.C.

References VRErrorCode::invalidArgs, LongId::lookup(), VRErrorCode::ok, SRPC::recv_bytes(), SRPC::recv_bytes_here(), SRPC::recv_int(), ReadersWritersLock::releaseWrite(), RWLOCK_LOCKED_REASON, srpc_recv_identity(), LongId::value, and VestaSource::write().

Referenced by VestaSourceReceptionist().


Variable Documentation

time_t serverStartTime
 

Definition at line 183 of file RepositoryMain.C.

Referenced by main().

const char* Version
 


Generated on Mon May 8 00:49:04 2006 for Vesta by  doxygen 1.4.2