Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
TXSocketHandler.cxx
Go to the documentation of this file.
1// @(#)root/proofx:$Id$
2// Author: Gerardo Ganis 12/12/2005
3
4/*************************************************************************
5 * Copyright (C) 1995-2005, Rene Brun and Fons Rademakers. *
6 * All rights reserved. *
7 * *
8 * For the licensing terms see $ROOTSYS/LICENSE. *
9 * For the list of contributors see $ROOTSYS/README/CREDITS. *
10 *************************************************************************/
11
12/** \class TXSocketHandler
13\ingroup proofx
14
15Input handler for XProofD sockets. These sockets cannot be directly
16monitored on their descriptor, because the reading activity goes via
17the internal reader thread. This class allows to handle the related issue.
18
19*/
20
21#include "TMonitor.h"
22#include "TProof.h"
23#include "TSlave.h"
24#include "TXSocketHandler.h"
25#include "TXHandler.h"
26#include "TList.h"
27
28
30
31// Unique instance of the socket input handler
33
34////////////////////////////////////////////////////////////////////////////////
35/// Set readiness on the monitor
36
38{
39 if (gDebug > 2)
41
42 // Get the socket
44 if (gDebug > 2)
45 Info("Notify", "ready socket %p (%s) (input socket: %p) (fFileNum: %d)",
46 s, (s ? s->GetTitle() : "***undef***"), fInputSock, fFileNum);
47
48 // If empty, nothing to do
49 if (!s) {
50 Warning("Notify","socket-ready list is empty!");
51 return kTRUE;
52 }
53
54 // Handle this input
56
57 // We are done
58 return kTRUE;
59}
60
61////////////////////////////////////////////////////////////////////////////////
62/// Get an instance of the input socket handler with 'h' as handler,
63/// connected to socket 's'.
64/// Create the instance, if not already existing
65
67{
68 if (!fgSocketHandler)
70 else
71 if (h && s)
73
74 return fgSocketHandler;
75}
#define h(i)
Definition RSha256.hxx:106
constexpr Bool_t kTRUE
Definition RtypesCore.h:100
#define ClassImp(name)
Definition Rtypes.h:377
Int_t gDebug
Definition TROOT.cxx:595
const char * GetTitle() const override
Returns title of object.
Definition TNamed.h:48
virtual void Warning(const char *method, const char *msgfmt,...) const
Issue warning message.
Definition TObject.cxx:962
virtual void Info(const char *method, const char *msgfmt,...) const
Issue info message.
Definition TObject.cxx:950
virtual Bool_t HandleInput(const void *in=0)
Handler of asynchronous input events.
Definition TXHandler.cxx:28
void DumpReadySock()
Dump content of the ready socket list.
TXSocket * GetLastReady()
Return last ready socket.
Input handler for XProofD sockets.
static TXSocketHandler * fgSocketHandler
void SetHandler(TFileHandler *h, TSocket *s)
static TXSocketHandler * GetSocketHandler(TFileHandler *h=0, TSocket *s=0)
Get an instance of the input socket handler with 'h' as handler, connected to socket 's'.
Bool_t Notify()
Set readiness on the monitor.
High level handler of connections to XProofD.
Definition TXSocket.h:59
TXHandler * fHandler
Definition TXSocket.h:80
static TXSockPipe fgPipe
Definition TXSocket.h:111