bes Updated for version 3.21.1
The Backend Server (BES) is the lower two tiers of the Hyrax data server
|
Public Member Functions | |
virtual void | brokenPipe () |
void | closeConnection () override |
void | decr_num_children () |
void | dump (std::ostream &strm) const override |
dumps information about this object | |
std::string | exit () override |
int | get_num_children () const |
virtual std::ostream * | getOutputStream () |
unsigned int | getRecvChunkSize () override |
unsigned int | getSendChunkSize () override |
virtual Socket * | getSocket () |
void | incr_num_children () |
void | initConnection () override |
virtual bool | isConnected () |
PPTServer (ServerHandler *handler, SocketListener *listener, bool isSecure) | |
bool | receive (std::map< std::string, std::string > &extensions, std::ostream *strm=nullptr) override |
receive a chunk of either extensions into the specified map or data into the specified stream | |
void | send (const std::string &buffer, std::map< std::string, std::string > &extensions) override |
Send a message to the server. | |
void | sendExit () override |
Send the exit token as an extension. | |
void | sendExtensions (std::map< std::string, std::string > &extensions) override |
send the specified extensions | |
virtual void | setOutputStream (std::ostream *strm) |
Protected Member Functions | |
virtual void | read_extensions (std::map< std::string, std::string > &extensions, const std::string &xstr) |
the string passed are extensions, read them and store the name/value pairs into the passed map | |
virtual int | readBuffer (char *inBuff, const unsigned int buff_size) |
read a buffer of data from the socket | |
virtual int | readBufferNonBlocking (char *inBuff, const int buff_size) |
read a buffer of data from the socket without blocking | |
void | send (const std::string &buffer) override |
sends the buffer to the socket | |
Protected Attributes | |
bool | _brokenPipe = false |
Socket * | _mySock = nullptr |
std::ostream * | _out = nullptr |
Definition at line 42 of file PPTServer.h.
PPTServer::PPTServer | ( | ServerHandler * | handler, |
SocketListener * | listener, | ||
bool | isSecure ) |
Definition at line 67 of file PPTServer.cc.
|
inlinevirtualinherited |
Definition at line 87 of file Connection.h.
|
overridevirtual |
Implements PPTConnection.
Definition at line 164 of file PPTServer.cc.
|
inline |
Definition at line 64 of file PPTServer.h.
|
overridevirtual |
dumps information about this object
Displays the pointer value of this instance
strm | C++ i/o stream to dump the information to |
Reimplemented from PPTConnection.
Definition at line 272 of file PPTServer.cc.
|
inlineoverridevirtualinherited |
Implements Connection.
Definition at line 70 of file PPTConnection.h.
|
inline |
Definition at line 62 of file PPTServer.h.
|
inlinevirtualinherited |
Definition at line 82 of file Connection.h.
|
overridevirtualinherited |
Implements Connection.
Definition at line 455 of file PPTConnection.cc.
|
overridevirtualinherited |
Implements Connection.
Definition at line 460 of file PPTConnection.cc.
|
inlinevirtualinherited |
Definition at line 67 of file Connection.h.
|
inline |
Definition at line 63 of file PPTServer.h.
|
overridevirtual |
Using the info passed into the SocketLister, wait for an inbound request (see SocketListener::accept()). When one is found, do the welcome message stuff (welcomeClient()) and then pass this
to the handler's handle
method. Note that this
is a pointer to a PPTServer which is a kind of Connection.
Implements PPTConnection.
Definition at line 134 of file PPTServer.cc.
|
inlinevirtualinherited |
Definition at line 72 of file Connection.h.
|
protectedvirtualinherited |
the string passed are extensions, read them and store the name/value pairs into the passed map
It has already been determined that extensions were read in the chunk. Deconstruct the name/value pairs and store them into the map passed. Each extension ends with a semicolon.
extensions | map to store the name/value pairs in |
xstr | string of extensions in the form *(name[=value];) |
Definition at line 378 of file PPTConnection.cc.
|
protectedvirtualinherited |
read a buffer of data from the socket
buffer | buffer to store the data received from the socket in |
buffer_size | max size of the data to be received |
Definition at line 202 of file PPTConnection.cc.
|
protectedvirtualinherited |
read a buffer of data from the socket without blocking
Try to read a buffer of data without blocking. We will try _timeout times, waiting 1000 milliseconds between each try. The variable _timeout is passed into the constructor.
inBuff | buffer to store the data into |
buffer_size | the size of the passed buffer |
Definition at line 426 of file PPTConnection.cc.
|
overridevirtualinherited |
receive a chunk of either extensions into the specified map or data into the specified stream
This receive will read a chunk of information from the socket and determine if what is read are extensions, where they are stored in the extensions map passed, or data, which is written to the specified stream
The first 7 bytes is the length of the information that was passed. The 5th character is either the character 'x', signifying that extensions were sent, or 'd', signifying that data was sent.
extensions | map to store the name/value paris into |
strm | output stream to write the received data into |
Implements Connection.
Definition at line 251 of file PPTConnection.cc.
|
overrideprotectedvirtualinherited |
sends the buffer to the socket
the buffer includes the length, extensions, data, whatever is to be sent
buffer | data buffer to send to the socket |
Implements Connection.
Definition at line 190 of file PPTConnection.cc.
|
overridevirtualinherited |
Send a message to the server.
Sends the specified message buffer to the server followed by a buffer of length 0 to signify the end of the message
A buffer sent to the server will follow the following form:
If there are extensions then they are sent first. The length of the extensions is sent first, followed by the character 'x', and then the extensions in the format name[=value];
Then the buffer itself is sent. The length of the buffer is sent followed by the character 'd' signifying data is being transmitted.
if the buffer is empty then this represents the last chunk
buffer | buffer of data to send |
extensions | list of name/value pairs sent |
Implements Connection.
Definition at line 109 of file PPTConnection.cc.
|
overridevirtualinherited |
Send the exit token as an extension.
Implements Connection.
Definition at line 125 of file PPTConnection.cc.
|
overridevirtualinherited |
send the specified extensions
extensions | name/value paris to be sent |
Implements Connection.
Definition at line 162 of file PPTConnection.cc.
|
inlinevirtualinherited |
Definition at line 78 of file Connection.h.
|
protectedinherited |
Definition at line 47 of file Connection.h.
|
protectedinherited |
Definition at line 45 of file Connection.h.
|
protectedinherited |
Definition at line 46 of file Connection.h.