summaryrefslogtreecommitdiff
path: root/apps/Gateway/Gateway/IO_Handler_Connector.h
blob: 585428c88ee3ad6a21334f5003b155df3584251b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
/* -*- C++ -*- */
// $Id$

// ============================================================================
//
// = LIBRARY
//    apps
// 
// = FILENAME
//    IO_Handler_Connector.h
//
// = AUTHOR
//    Doug Schmidt 
// 
// ============================================================================

#if !defined (_IO_HANDLER_CONNECTOR)
#define _IO_HANDLER_CONNECTOR

#include "ace/Connector.h"
#include "Thr_IO_Handler.h"

class IO_Handler_Connector : public ACE_Connector<IO_Handler, ACE_SOCK_CONNECTOR>
  // = TITLE
  //    A concrete factory class that setups connections to peerds 
  //    and produces a new IO_Handler object to do the dirty work...
{
public:
  IO_Handler_Connector (void);

  // Initiate (or reinitiate) a connection on the IO_Handler.
  int initiate_connection (IO_Handler *, 
			   ACE_Synch_Options & = ACE_Synch_Options::synch);

protected:  
  // Override the connection-failure method to add timer support.
  virtual int handle_close (ACE_HANDLE sd, ACE_Reactor_Mask);
};

#endif /* _IO_HANDLER_CONNECTOR */