1 // -*- Mode: C++; -*-
2 //                            Package   : omniORB
3 // giopStrandFlags.h          Created on: 2006-06-16
4 //                            Author    : Duncan Grisby
5 //
6 //    Copyright (C) 2006 Apasphere Ltd.
7 //
8 //    This file is part of the omniORB library
9 //
10 //    The omniORB library is free software; you can redistribute it and/or
11 //    modify it under the terms of the GNU Lesser General Public
12 //    License as published by the Free Software Foundation; either
13 //    version 2.1 of the License, or (at your option) any later version.
14 //
15 //    This library is distributed in the hope that it will be useful,
16 //    but WITHOUT ANY WARRANTY; without even the implied warranty of
17 //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
18 //    Lesser General Public License for more details.
19 //
20 //    You should have received a copy of the GNU Lesser General Public
21 //    License along with this library. If not, see http://www.gnu.org/licenses/
22 //
23 //
24 // Description:
25 //    Flags values used in the giopStrand flags field. For use by
26 //    interceptors to maintain per-connection information.
27 //
28 
29 #ifndef __GIOPSTRANDFLAGS_H__
30 #define __GIOPSTRANDFLAGS_H__
31 
32 
33 //
34 // Application specific space
35 //
36 
37 #define GIOPSTRAND_APPLICATION_MASK 0xff000000
38 // The top 8 bits of the flags are reserved for application-specific
39 // use. Flags below will never be allocated in this space.
40 
41 
42 //
43 // Allocated flag bits
44 //
45 
46 #define GIOPSTRAND_BIDIR (1 << 0)
47 // Strand supports bidirectional GIOP.
48 
49 #define GIOPSTRAND_ENABLE_TRANSPORT_BATCHING (1 << 1)
50 // Normally omniORB sets connections to send data as soon as possible,
51 // e.g. with the TCP_NODELAY socket option. This flag means that
52 // message batching in the transport should be enabled.
53 
54 #define GIOPSTRAND_HOLD_OPEN (1 << 2)
55 // If set, the connection is held open, rather than being scavenged
56 // when idle.
57 
58 #define GIOPSTRAND_COMPRESSION (1 << 3)
59 // If set, the connection supports ZIOP compression.
60 
61 #define GIOPSTRAND_CONNECTION_MANAGEMENT (1 << 4)
62 // If set, the connection is managed by the omniConnectionMgmt extension.
63 
64 
65 #endif // __GIOPSTRANDFLAGS_H__
66