summaryrefslogtreecommitdiff
path: root/examples/Naming/test_open.cpp
blob: 104f864da0c56c00547a674d810ad083ffcd6c18 (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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
// $Id$

#include "ace/Naming_Context.h"

int 
main (int argc, char **argv) 
{
  char *host = argc > 1 ? argv[1] : "-hlocalhost";
  char *port = argc > 2 ? argv[2] : "-p20012";

  ACE_Naming_Context ns;   
  ACE_Name_Options *name_options = ns.name_options ();
  
  char * m_argv[] = { "MyName", 
                      "-cNET_LOCAL", 
                      host, 
                      port,  
                      NULL }; 
  int m_argc = sizeof ( m_argv ) / sizeof ( char * ) -1; 

  name_options->parse_args( m_argc, m_argv );

  int result = 0;
  result = ns.open ( ACE_Naming_Context::NET_LOCAL ); 
  ACE_DEBUG ((LM_DEBUG, "ACE_Naming_Context::open returned %d\n", result));
  if (result != 0)
    return result;
  else
    {
      char Key[128];
      char Val[32];
      char Type[2];
      
      Type[0] = '-';
      Type[1] = '\0';
      
      int i = 0;
      for (int l = 1; l <= 1000 ; l++) 
        {
          ACE_OS::sprintf (Key, "K_%05d_%05d", ACE_OS::getpid(), l);
          ACE_OS::sprintf (Val, "Val%05d", l);
          i = ns.bind (Key, Val, Type);  
          cout << ACE_OS::getpid() << ": bind of " << Key << " :" << i << endl;
          if (i != 0) {
            return -1;
          }          
        }
      
      result = ns.close ();
      ACE_DEBUG ((LM_DEBUG, "ACE_Naming_Context::close returned %d\n", result));
    }

  return result;
}