Scale Stack 0.3 Developer Documentation

scalestack::proxy::client Class Reference

#include <client.h>

Inheritance diagram for scalestack::proxy::client:
scalestack::network::stream

Public Member Functions

 client (kernel::module &module, server_service &server_service)
void shutdown (void)
void timer_expired (void)
void run (void)
void connected (void)
void set_server (server *server)
size_t read (uint8_t *buffer, size_t size)
void read_eof (void)
void flush_write (void)
void continue_write (void)

Private Member Functions

 client (const client &)
clientoperator= (const client &)
size_t _server_write (void)

Private Attributes

bool _binding
bool _shutdown
bool _shutdown_write
size_t _size
uint8_t * _buffer
server_server
server_service_server_service

Detailed Description

Definition at line 37 of file client.h.


Constructor & Destructor Documentation

scalestack::proxy::client::client ( kernel::module module,
server_service server_service 
)

Definition at line 37 of file client.cc.

scalestack::proxy::client::client ( const client  )  [private]

Don't allow copying of objects.


Member Function Documentation

void scalestack::proxy::client::shutdown ( void   )  [virtual]

Start shutdown process.

Reimplemented from scalestack::network::stream.

Definition at line 49 of file client.cc.

void scalestack::proxy::client::timer_expired ( void   )  [virtual]

Called when server timeout expiures, shutdown the client.

Reimplemented from scalestack::network::stream.

Definition at line 68 of file client.cc.

void scalestack::proxy::client::run ( void   )  [virtual]

Shutdown bound server.

Reimplemented from scalestack::network::stream.

Definition at line 73 of file client.cc.

void scalestack::proxy::client::connected ( void   )  [virtual]

Notify the server service of new client.

Reimplemented from scalestack::network::stream.

Definition at line 79 of file client.cc.

void scalestack::proxy::client::set_server ( server server  ) 

Set the server to use with this client.

Definition at line 86 of file client.cc.

size_t scalestack::proxy::client::read ( uint8_t *  buffer,
size_t  size 
) [virtual]

See network::stream::read().

Implements scalestack::network::stream.

Definition at line 96 of file client.cc.

void scalestack::proxy::client::read_eof ( void   )  [virtual]

See network::stream::read_eof().

Reimplemented from scalestack::network::stream.

Definition at line 103 of file client.cc.

void scalestack::proxy::client::flush_write ( void   )  [virtual]

See network::stream::flush_write().

Implements scalestack::network::stream.

Definition at line 114 of file client.cc.

void scalestack::proxy::client::continue_write ( void   ) 

Continue writing to the server from the read buffer.

Definition at line 120 of file client.cc.

client& scalestack::proxy::client::operator= ( const client  )  [private]

Don't allow assignment of objects.

size_t scalestack::proxy::client::_server_write ( void   )  [private]

Write data to the server. This is used by both the read() and continue_write() methods.

Definition at line 129 of file client.cc.


Field Documentation

Definition at line 106 of file client.h.

Definition at line 107 of file client.h.

Definition at line 108 of file client.h.

Definition at line 109 of file client.h.

Definition at line 110 of file client.h.

Definition at line 111 of file client.h.

Definition at line 112 of file client.h.


The documentation for this class was generated from the following files:
Generated on Thu Feb 17 13:10:23 2011 by  doxygen 1.6.3