LServer
class description - source file - inheritance tree
class LServer : public TObject
private:
TDirectory* CdDirectory(Long_t jobID)
void CloseDataBase()
Int_t DataContainerTransfer(LContainer* data)
Int_t DataHeaderTransfer(LDataHeader* header)
Int_t DataTransfer(LData* data)
LData* GetLData(Long_t jobID)
TDirectory* MkDirectory(LDataHeader* header)
TFile* OpenDataBase()
Bool_t ReceiveString()
Int_t SendLog(const char* message)
int WaitConnection()
public:
LServer LServer(TLClient* calling, const char* filename, int syslogd = 0)
LServer LServer(const LServer&)
virtual void ~LServer()
static TClass* Class()
virtual TClass* IsA() const
void Serving()
void SetSysLog()
virtual void ShowMembers(TMemberInspector& insp, char* parent)
virtual void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
private:
ELClientTypes fclient who wants to talk
TLClient* fsocket connection socket
TString* fname ROOT filename
TFile* fdatabase ROOT file
int fsyslog syslog daemon
char fStr[80]
LData* fdata LData object
LDataHeader* fheader LDataHeader object
This is server class
modified to conect to LClient
Logs:
$Log: LServer.cc,v $
Revision 1.10 2004/03/12 14:52:33 cvs
a bug was found and repaired, when data was saved over other one, so directories and jobID in data didnt matched!
Revision 1.9 2004/02/11 11:23:47 cvs
found and resolved some bugs in LServer.cc and hoppserv.cc
Revision 1.8 2003/11/24 17:06:23 cvs
a bug was corrected in LServer::GetLData and the error bars were corrected when drawing Draw(".tof.")
Revision 1.7 2003/11/15 17:17:26 cvs
new scheme is working...
Clients (hoppclient) are connected as kLC_AMAX and free socket is given
TLServer (lserver) is multithreading
LServer (hoppserver) has a file which is always in memory - faster but needs more memory
Revision 1.6 2003/11/11 17:33:03 cvs
LServer upgraded
Revision 1.5 2003/07/09 10:53:13 cvs
added some verbosity and changed LContainer class. The LData isnt changed. Corrected daemon mode of hoppserv, since network connection is dependend on process pid. So the connection should be opened by child processes.
Revision 1.4 2003/06/26 09:27:11 cvs
added log fields...
LServer(TLClient* calling,const char* filename,int syslogd)
and open (update) root file of name filename
~LServer()
default destructor
SetSysLog()
set the server to send logs to syslogd -> e.g. /var/log/messages
SendLog(const char* message)
ReceiveString()
goes through all clients that thinks will talk to
receive fStr from client fclient
if something is wrong, then returns kFALSE
WaitConnection()
this is only filter, which captures kRC_STOP_RUN
Serving()
Int_t DataTransfer(LData* data)
connection for data transfer is handled
Int_t DataContainerTransfer(LContainer* data)
connection for data container transfer is handled
Int_t DataHeaderTransfer(LDataHeader* header)
connection for data transfer is handled
TDirectory* MkDirectory(LDataHeader* header)
this function cd fname to last directory regarding jobID it returns the pointer to created directory. if directory already exist 0 is returned
TDirectory* CdDirectory(Long_t jobID)
this function cd fname to last directory of specific jobID and returns the pointer to it
TFile* OpenDataBase()
open ROOT file for writing
void CloseDataBase()
LData* GetLData(Long_t jobID)
we suppose here, the file is already open
this return pointer to data if already exists, or load new data from file
or create new data from header in file (header must be there!)
Inline Functions
TClass* Class()
TClass* IsA() const
void ShowMembers(TMemberInspector& insp, char* parent)
void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
LServer LServer(const LServer&)
Author: Egon Pavlica
Last update: Sat Oct 16 19:10:25 2004
ROOT page - Class index - Top of the page
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.