Index  Source Files  Annotated Class List  Alphabetical Class List  Class Hierarchy  Graphical Class Hierarchy   
 

FIX::SocketConnector Class Reference

Connects sockets to remote ports and addresses. More...

#include <SocketConnector.h>

Collaboration diagram for FIX::SocketConnector:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 SocketConnector (int timeout=0)
int connect (const std::string &address, int port, bool noDelay)
int connect (const std::string &address, int port, bool noDelay, Strategy &)
void block (Strategy &strategy, bool poll=0)
SocketMonitorgetMonitor ()

Private Attributes

SocketMonitor m_monitor

Detailed Description

Connects sockets to remote ports and addresses.

Definition at line 35 of file SocketConnector.h.


Constructor & Destructor Documentation

FIX::SocketConnector::SocketConnector int  timeout = 0  ) 
 

Definition at line 97 of file SocketConnector.cpp.

00098 : m_monitor( timeout ) {}


Member Function Documentation

void FIX::SocketConnector::block Strategy strategy,
bool  poll = 0
 

Definition at line 127 of file SocketConnector.cpp.

References FIX::SocketMonitor::block(), m_monitor, QF_STACK_POP, and QF_STACK_PUSH.

Referenced by FIX::SocketInitiator::onPoll(), and FIX::SocketInitiator::onStart().

00128 { QF_STACK_PUSH(SocketConnector::block)
00129 
00130   ConnectorWrapper wrapper( *this, strategy );
00131   m_monitor.block( wrapper, poll );
00132 
00133   QF_STACK_POP
00134 }

int FIX::SocketConnector::connect const std::string &  address,
int  port,
bool  noDelay,
Strategy
 

Definition at line 117 of file SocketConnector.cpp.

References connect(), QF_STACK_POP, and QF_STACK_PUSH.

00119 { QF_STACK_PUSH(SocketConnector::connect)
00120 
00121   int socket = connect( address, port, noDelay );
00122   return socket;
00123 
00124   QF_STACK_POP
00125 }

int FIX::SocketConnector::connect const std::string &  address,
int  port,
bool  noDelay
 

Definition at line 100 of file SocketConnector.cpp.

References FIX::SocketMonitor::addConnect(), m_monitor, QF_STACK_POP, QF_STACK_PUSH, FIX::socket_connect(), FIX::socket_createConnector(), and FIX::socket_setsockopt().

Referenced by connect(), and FIX::SocketInitiator::doConnect().

00101 { QF_STACK_PUSH(SocketConnector::connect)
00102 
00103   int socket = socket_createConnector();
00104 
00105   if ( socket != -1 )
00106   {
00107     if( noDelay )
00108       socket_setsockopt( socket, TCP_NODELAY );
00109     m_monitor.addConnect( socket );
00110     socket_connect( socket, address.c_str(), port );
00111   }
00112   return socket;
00113 
00114   QF_STACK_POP
00115 }

SocketMonitor& FIX::SocketConnector::getMonitor  )  [inline]
 

Definition at line 45 of file SocketConnector.h.

References m_monitor.

Referenced by FIX::SocketInitiator::doConnect(), FIX::ConnectorWrapper::onError(), and FIX::SocketConnection::read().

00045 { return m_monitor; }


Member Data Documentation

SocketMonitor FIX::SocketConnector::m_monitor [private]
 

Definition at line 48 of file SocketConnector.h.

Referenced by block(), connect(), and getMonitor().


The documentation for this class was generated from the following files:
Generated on Mon Jul 24 19:36:52 2006 for QuickFIX by doxygen 1.3.6-20040222 written by Dimitri van Heesch, © 1997-2001