File: omniConnectionData.idl

package info (click to toggle)
omniorb-dfsg 4.3.3%2Bds1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 13,172 kB
  • sloc: cpp: 115,843; python: 24,962; ansic: 13,414; sh: 2,665; makefile: 40
file content (100 lines) | stat: -rw-r--r-- 3,279 bytes parent folder | download | duplicates (5)
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
//
//                            Package   : omniORB
// omniConnectionData.idl     Created on: 2006/07/10
//                            Author    : Duncan Grisby
//
//    Copyright (C) 2006 Apasphere Ltd.
//
//    This file is part of the omniORB library
//
//    The omniORB library is free software; you can redistribute it and/or
//    modify it under the terms of the GNU Lesser General Public
//    License as published by the Free Software Foundation; either
//    version 2.1 of the License, or (at your option) any later version.
//
//    This library is distributed in the hope that it will be useful,
//    but WITHOUT ANY WARRANTY; without even the implied warranty of
//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
//    Lesser General Public License for more details.
//
//    You should have received a copy of the GNU Lesser General Public
//    License along with this library. If not, see http://www.gnu.org/licenses/
//
//
// Description:
//    IDL definitions used by the omniConnections library

#ifndef _omniConnectionData_idl_
#define _omniConnectionData_idl_

module omniConnectionData {

  //
  // Data stored in an IOR tagged component.
  //

  struct ComponentData {
    octet          version;         // Component version. Must be 1.

    unsigned short flags;           // See below for flags values.

    unsigned long  connection_id;   // Identity of the connection for
				    // calls to this object reference;
				    // all objects with the same
				    // connection id share a
				    // connection.

    unsigned long  max_connections; // The maximum number of
				    // connections the client will
				    // open for the id.

    unsigned long  max_threads;     // The maximum number of
				    // concurrent threads the server
				    // will dispatch for each
				    // connection.
  };

  // Flag values:

  const unsigned short COMP_DATA_BATCH         = 0x0001;
  // If set, enable transport level batching in the client --
  // e.g. Nagle's algorithm.

  const unsigned short COMP_PERMIT_INTERLEAVED = 0x0002;
  // If set, the client can interleave concurrent calls on a single
  // open connection; if not set, all calls on a connection are
  // serialised.

  const unsigned short COMP_SERVER_HOLD_OPEN   = 0x0004;
  // If set, instruct the server to hold connections open, rather than
  // closing them when idle.

  // IOR component tag value:
  const unsigned long TAG_RESTRICTED_CONNECTION = 0x41545404; // ATT\x04


  //
  // Data sent in a GIOP service context
  //

  struct ServiceData {
    octet 	   version;       // Service context version. Must be 1.
    unsigned short flags;         // See below for flag bits.
    unsigned long  connection_id; // Identity of the connection. 
    unsigned long  max_threads;   // Maximum number of threads the
				  // server will dispatch for this
				  // connection.
  };
  // Flag values:

  const unsigned short SVC_HOLD_OPEN = 0x0001;
  // If set, the server will hold the connection open until the client
  // closes it, or the connection fails, rather than scavenging it
  // after a while being idle.

  const unsigned long SVC_RESTRICTED_CONNECTION = 0x41545404; // ATT\x04
  // Service context tag value.

};

#endif // _omniConnectionData_idl_