66 lines
1.8 KiB
C++
66 lines
1.8 KiB
C++
///----------------------------------------------------------------------------
|
|
//
|
|
// Copyright (C) Intel Corporation, 2006 - 2007.
|
|
//
|
|
// File: connector.h
|
|
//
|
|
// Contents: Connector that handles connection to peers
|
|
//
|
|
// Notes:
|
|
//----------------------------------------------------------------------------
|
|
|
|
|
|
#ifndef _MPS_CONNECTOR_H__
|
|
#define _MPS_CONNECTOR_H__
|
|
|
|
//===================================================
|
|
// INCLUDES
|
|
//===================================================
|
|
|
|
#include <ace/ACE.h>
|
|
#if !defined (ACE_LACKS_PRAGMA_ONCE)
|
|
# pragma once
|
|
#endif /* ACE_LACKS_PRAGMA_ONCE */
|
|
|
|
#include <ace/Connector.h>
|
|
#include <ace/SOCK_Connector.h>
|
|
#include "TcpSvcHandler.h"
|
|
|
|
|
|
/*
|
|
#if !defined (ACE_LACKS_PRAGMA_ONCE)
|
|
# pragma once
|
|
#endif /* ACE_LACKS_PRAGMA_ONCE */
|
|
|
|
//========================================================
|
|
// Connection_Handler_Connector
|
|
// A concrete factory class that setups connections to peers
|
|
// and produces a new Connection_Handler object to do the dirty
|
|
// work...
|
|
//========================================================
|
|
class Connection_Handler_Connector : public ACE_Connector<Tcp_Svc_Handler, ACE_SOCK_CONNECTOR>
|
|
{
|
|
private:
|
|
|
|
//===================================================
|
|
// CTOR / DTOR
|
|
//===================================================
|
|
Connection_Handler_Connector (void);
|
|
|
|
public:
|
|
|
|
static Connection_Handler_Connector& instance() {
|
|
static Connection_Handler_Connector c;
|
|
return c;
|
|
}
|
|
//-------------------------------------------------------
|
|
// Initiate (or reinitiate) a connection on the
|
|
// Connection_Handler.
|
|
//-------------------------------------------------------
|
|
int initiate_connection (Tcp_Svc_Handler *,
|
|
ACE_Synch_Options & = ACE_Synch_Options::synch);
|
|
|
|
};
|
|
|
|
#endif /* _MPS_CONNECTOR_H__ */
|