SocketFilter Class Reference

A filter for received socket data. More...

#include <yateclass.h>

Inheritance diagram for SocketFilter:
GenObject

List of all members.

Public Member Functions

 SocketFilter ()
virtual ~SocketFilter ()
virtual void * getObject (const String &name) const
virtual void timerTick (const Time &when)
virtual bool received (void *buffer, int length, int flags, const struct sockaddr *addr, socklen_t adrlen)=0
Socketsocket () const
bool valid () const

Friends

class Socket

Detailed Description

A filter for received socket data.

Abstract interface for an object that filters socket received data packets


Constructor & Destructor Documentation

SocketFilter (  ) 

Constructor

virtual ~SocketFilter (  )  [virtual]

Destructor, unregisters from socket


Member Function Documentation

virtual void* getObject ( const String name  )  const [virtual]

Get a pointer to a derived class given that class name

Parameters:
name Name of the class we are asking for
Returns:
Pointer to the requested class or NULL if this object doesn't implement it

Reimplemented from GenObject.

virtual bool received ( void *  buffer,
int  length,
int  flags,
const struct sockaddr *  addr,
socklen_t  adrlen 
) [pure virtual]

Notify this filter about a received block of data

Parameters:
buffer Buffer for received data
length Length of the data in buffer
flags Operating system specific bit flags of the operation
addr Address of the incoming data, may be NULL
adrlen Length of the valid data in address structure
Returns:
True if this filter claimed the data
Socket* socket (  )  const [inline]

Get the socket to which the filter is currently attached

Returns:
Pointer to the socket of this filter
virtual void timerTick ( const Time when  )  [virtual]

Run whatever actions required on idle thread runs

Parameters:
when Time when the idle run started
bool valid (  )  const

Check if the socket of this filter is valid

Returns:
True if the filter has a valid socket

The documentation for this class was generated from the following file:
Generated on Thu Apr 8 18:22:36 2010 for Yate by  doxygen 1.6.3