ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
graphics
JiveXML
JiveXML
ONCRPCServerThreads.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef JIVEXML_ONCRPCSERVERPROC_H
6
#define JIVEXML_ONCRPCSERVERPROC_H
7
8
#include "
JiveXML/ONCRPCServer.h
"
9
10
namespace
JiveXML
{
11
12
//Forward declarations
13
class
IServer
;
14
class
ThreadCollection
;
15
16
//Global link to thread collection
17
extern
ThreadCollection
*
const
dispatchThreads
;
18
22
typedef
struct
ServerThreadArguments_t
ServerThreadArguments
;
23
struct
ServerThreadArguments_t
{
24
ServerThreadArguments_t
(
JiveXML::IServer
*
const
serverPtr,
const
int
portNumber,
void
(*
const
cleanupHandler)(
void
*)=NULL):
25
ServerPtr
(serverPtr),
PortNumber
(portNumber),
CleanUpHandler
(cleanupHandler) {}
//Constructor
26
JiveXML::IServer
*
const
ServerPtr
;
//const pointer to the gaudi service
27
const
int
PortNumber
;
//port number to bind to
28
void (*
const
CleanUpHandler
)(
void
*);
//Cleanup handler to be run when the main thread exits
29
};
30
34
void
*
ONCRPCServerThread
(
void
* args );
35
40
typedef
struct
DispatchThreadArguments_t
DispatchThreadArguments
;
41
struct
DispatchThreadArguments_t
{
42
DispatchThreadArguments_t
(
JiveXML::IServer
*
const
serverPtr,
const
svc_req* rqp,
const
Event
* event,
const
EventRequest
* req):
43
ServerSvcPtr
(serverPtr),
rqstp
(rqp),
evt
(event),
evtReq
(req){}
//Constructor
44
JiveXML::IServer
*
const
ServerSvcPtr
;
//cannot modify pointer, only object
45
const
struct
svc_req*
rqstp
;
46
const
Event
*
evt
;
47
const
EventRequest
*
evtReq
;
48
};
49
53
void
*
ONCRPCDispatchThread
(
void
* args );
54
59
extern
"C"
void
ONCRPCRequestHandler
(
struct
svc_req* rqstp, SVCXPRT* transp);
60
61
}
62
#endif
ONCRPCServer.h
JiveXML::IServer
Pure abstract interface for all full server implementations.
Definition
IServer.h:22
JiveXML::ThreadCollection
This class handles a collection of threads.
Definition
ONCRPCThreadCollection.h:18
JiveXML
This header is shared inbetween the C-style server thread and the C++ Athena ServerSvc.
Definition
BadLArRetriever.cxx:22
JiveXML::ONCRPCDispatchThread
void * ONCRPCDispatchThread(void *args)
This is the thread handling the request - one thread per request.
Definition
ONCRPCServerThreads.cxx:42
JiveXML::DispatchThreadArguments
struct DispatchThreadArguments_t DispatchThreadArguments
Arguments handed over fromt the main server thread to the thread dispatching the request (one for eac...
Definition
ONCRPCServerThreads.h:40
JiveXML::dispatchThreads
ThreadCollection *const dispatchThreads
Definition
ONCRPCServerThreads.cxx:31
JiveXML::EventRequest
struct EventRequest_t EventRequest
Data structures for GetEvent functions.
Definition
ONCRPCServer.h:57
JiveXML::Event
struct Event_t Event
Definition
ONCRPCServer.h:65
JiveXML::ONCRPCRequestHandler
void ONCRPCRequestHandler(struct svc_req *rqstp, SVCXPRT *transp)
The Request handler is called from the RPC kernel routines - hence extern C It creates a new dispatch...
Definition
ONCRPCServerThreads.cxx:116
JiveXML::ServerThreadArguments
struct ServerThreadArguments_t ServerThreadArguments
Arguments handed over fromt the main (Athena) thread to the server thread.
Definition
ONCRPCServerThreads.h:22
JiveXML::ONCRPCServerThread
void * ONCRPCServerThread(void *args)
This is the actual server thread, which takes above arguments.
Definition
ONCRPCServerThreads.cxx:266
JiveXML::DispatchThreadArguments_t
Definition
ONCRPCServerThreads.h:41
JiveXML::DispatchThreadArguments_t::DispatchThreadArguments_t
DispatchThreadArguments_t(JiveXML::IServer *const serverPtr, const svc_req *rqp, const Event *event, const EventRequest *req)
Definition
ONCRPCServerThreads.h:42
JiveXML::DispatchThreadArguments_t::rqstp
const struct svc_req * rqstp
Definition
ONCRPCServerThreads.h:45
JiveXML::DispatchThreadArguments_t::evt
const Event * evt
Definition
ONCRPCServerThreads.h:46
JiveXML::DispatchThreadArguments_t::evtReq
const EventRequest * evtReq
Definition
ONCRPCServerThreads.h:47
JiveXML::DispatchThreadArguments_t::ServerSvcPtr
JiveXML::IServer *const ServerSvcPtr
Definition
ONCRPCServerThreads.h:44
JiveXML::ServerThreadArguments_t
Definition
ONCRPCServerThreads.h:23
JiveXML::ServerThreadArguments_t::CleanUpHandler
void(*const CleanUpHandler)(void *)
Definition
ONCRPCServerThreads.h:28
JiveXML::ServerThreadArguments_t::ServerThreadArguments_t
ServerThreadArguments_t(JiveXML::IServer *const serverPtr, const int portNumber, void(*const cleanupHandler)(void *)=NULL)
Definition
ONCRPCServerThreads.h:24
JiveXML::ServerThreadArguments_t::PortNumber
const int PortNumber
Definition
ONCRPCServerThreads.h:27
JiveXML::ServerThreadArguments_t::ServerPtr
JiveXML::IServer *const ServerPtr
Definition
ONCRPCServerThreads.h:26
Generated on
for ATLAS Offline Software by
1.17.0