rasdaman complete source
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
akg::NbServerJob Class Reference

#include <akgnet_nbcomm.hh>

Inheritance diagram for akg::NbServerJob:
akg::NbJob rnp::RnpServerJob RnpRasserverJob

Public Member Functions

 NbServerJob () throw ()
 Default constructor. More...
 
void initOnAttach (Selector *pselector) throw ()
 
acceptStatus acceptConnection (ListenSocket &listenSocket) throw ()
 
SocketAddress getClientSocketAddress () throw ()
 Returns the SocketAddress of the client. More...
 
HostAddress getClientHostAddress () throw ()
 Returns the HostAddress of the client. More...
 
- Public Member Functions inherited from akg::NbJob
virtual ~NbJob () throw ()
 
workingStatus getStatus () throw ()
 Returns the working status. More...
 
bool isOperationPending () throw ()
 
bool isAccepting () throw ()
 Returns true if the job is ready to accept a connection. More...
 
bool isReading () throw ()
 Returns true if the job is reading data. More...
 
bool isWriting () throw ()
 Returns true if the job is writing data. More...
 
bool isProcessing () throw ()
 Returns true if the job is processing. More...
 
bool readPartialMessage () throw ()
 
bool writePartialMessage () throw ()
 
void clearConnection () throw ()
 Clears the connection - closes the socket and removes it from the Selector. More...
 
int getSocket () throw ()
 Returns the OS file descriptor for the socket. More...
 
int getErrno () throw ()
 Returns the errno of the last socket operation. More...
 
virtual bool cleanUpIfTimeout () throw ()
 
virtual void processRequest ()=0 throw ()
 

Protected Member Functions

void readyToWriteAnswer () throw ()
 helper function, call it in "processRequest" to switch to writing More...
 
- Protected Member Functions inherited from akg::NbJob
virtual bool validateMessage ()=0 throw ()
 called after every read, returns 'true' if the message is all here More...
 
virtual void executeOnAccept () throw ()
 called when client is accepted, default does nothing More...
 
virtual void executeOnWriteReady ()=0 throw ()
 called when message is written More...
 
virtual void specificCleanUpOnTimeout ()=0 throw ()
 called when timeout, it has to set the status apropriate and do other cleanup More...
 
virtual void executeOnReadError ()=0 throw ()
 called when a read error occurs, usual a message and clean up More...
 
virtual void executeOnWriteError ()=0 throw ()
 called when a write error occurs, usual a message and clean up More...
 
 NbJob (FileDescriptor &) throw ()
 Protected constructor, taking a FileDescriptor, usually a Socket. More...
 
bool setReading () throw ()
 Helper function for setting the job in read modus. More...
 
bool setWriting () throw ()
 Helper function for setting the job in write modus. More...
 
void action () throw ()
 Helper function which marks the current moment, so timeout counter is reset. More...
 

Protected Attributes

ServerSocket serverSocket
 
- Protected Attributes inherited from akg::NbJob
workingStatus status
 
FileDescriptorfdRef
 
SelectorselectorPtr
 
CommBuffercurrentBufferPtr
 
time_t lastActionTime
 

Additional Inherited Members

- Public Types inherited from akg::NbJob
enum  acceptStatus { acs_nopending = 0, acs_Iambusy = 1, acs_accepted = 2 }
 Status regarding accepting a new job. More...
 
enum  workingStatus {
  wks_notdefined = 0, wks_accepting = 1, wks_reading = 2, wks_writing = 3,
  wks_processing = 4
}
 Status during the lifetime of a job. More...
 
- Static Public Member Functions inherited from akg::NbJob
static void setCurrentTime () throw ()
 
static void setTimeoutInterval (time_t x) throw ()
 
static time_t getTimeoutInterval () throw ()
 Returns the timeout interval set for the jobs. More...
 
- Static Protected Attributes inherited from akg::NbJob
static time_t timeOutInterv
 
static time_t currentTime
 

Constructor & Destructor Documentation

akg::NbServerJob::NbServerJob ( )
throw (
)

Default constructor.

Member Function Documentation

acceptStatus akg::NbServerJob::acceptConnection ( ListenSocket listenSocket)
throw (
)
virtual

The version for servers It doesn't have to be overloaded, it's OK for most servers

Implements akg::NbJob.

HostAddress akg::NbServerJob::getClientHostAddress ( )
throw (
)

Returns the HostAddress of the client.

SocketAddress akg::NbServerJob::getClientSocketAddress ( )
throw (
)

Returns the SocketAddress of the client.

void akg::NbServerJob::initOnAttach ( Selector pselector)
throw (
)
virtual

The version for servers, it just initializes the 'Selector*' It doesn't have to be overloaded, it's OK for servers

Implements akg::NbJob.

void akg::NbServerJob::readyToWriteAnswer ( )
throw (
)
protected

helper function, call it in "processRequest" to switch to writing

Member Data Documentation

ServerSocket akg::NbServerJob::serverSocket
protected

The documentation for this class was generated from the following file: