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)

Data Members

    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

Class Description

  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.