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_
|