Edinburgh Speech Tools  2.4-release
 All Classes Functions Variables Typedefs Enumerations Enumerator Friends Pages
EST_Server Class Reference

#include <include/EST_Server.h>

Inheritance diagram for EST_Server:

Classes

class  BufferedSocket
 
class  RequestHandler
 
class  ResultHandler
 

Public Types

enum  Mode {
  sm_unknown = 0, sm_client = 1, sm_sequential = 2, sm_interleaved =3,
  sm_fork = 4, sm_threded = 5
}
 What type of server is this. More...
 
typedef EST_Features Args
 
typedef EST_Features Result
 

Public Member Functions

virtual ~EST_Server ()
 Destroy the connection.
 
virtual bool parse_command (const EST_String command, EST_String &package, EST_String &operation, Args &arguments)
 
virtual EST_String build_command (const EST_String package, const EST_String operation, const Args &arguments)
 
virtual bool parse_result (const EST_String resultString, Result &res)
 
virtual EST_String build_result (const Result &res)
 
bool execute (const EST_String package, const EST_String operation, const Args &arguments, ResultHandler &handler)
 
bool execute (const EST_String command, ResultHandler &handler)
 
void run (RequestHandler &handler)
 
Client end constructors.
 EST_Server (EST_String name, EST_String type)
 Create a server connection by name, defaulting to "fringe", the default server name.
 
 EST_Server (EST_String name, EST_String type, ostream *trace)
 
 EST_Server (EST_String hostname, int port)
 Create a server connection by explicitly saying where to connect to.
 
 EST_Server (EST_String hostname, int port, ostream *trace)
 
Server end constructors
 EST_Server (Mode mode, EST_String name, EST_String type)
 
 EST_Server (Mode mode, EST_String name, EST_String type, ostream *trace)
 
information about the server.
const EST_String name (void) const
 Name of server.
 
const EST_String type (void) const
 Type of server.
 
const EST_String hostname (void) const
 Domain name of the server.
 
const EST_String address (void) const
 Dotted numeric IP address.
 
const EST_String servername (void) const
 Domain name or IP number.
 
int port (void) const
 Port number.
 
connection management
EST_connect_status connect (void)
 Connect to the server.
 
bool connected (void)
 Are we connected at the moment?
 
EST_connect_status disconnect (void)
 Disconnect.
 

Protected Member Functions

void write (BufferedSocket &s, const EST_String string, const EST_String term="")
 
EST_String read_data (BufferedSocket &s, const EST_String end, int &eof)
 
bool check_cookie (BufferedSocket &socket)
 
bool process_command (BufferedSocket &socket, EST_String command, RequestHandler &handler)
 
void handle_client (BufferedSocket &socket, RequestHandler &handler)
 
void return_error (BufferedSocket &socket, EST_String err)
 
void return_value (BufferedSocket &socket, Result &res, bool last)
 
void run_sequential (RequestHandler &handler)
 

Detailed Description

Client-server interface.

An EST_Server object represents a server, it can be at either end of a network connection. That is, a server process has an EST_Server object representing it's wait-dispatch-answer loop, while a client process has an EST_Server object which represents the server process.

Author
Richard Caley rjc@c.nosp@m.str..nosp@m.ed.ac.nosp@m..uk
Version
Id:
EST_Server.h,v 1.4 2004/05/04 00:00:16 awb Exp

Definition at line 53 of file EST_Server.h.

Member Enumeration Documentation

What type of server is this.

Enumerator
sm_unknown 

Bizarre state.

sm_client 

Client end of the connection.

sm_sequential 

Answer one client at a time.

sm_interleaved 

Answer requests from several clients, as requests arrive.

sm_fork 

For off a process for each client.

sm_threded 

Multi-threaded (not implemented)

Definition at line 58 of file EST_Server.h.


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