26const ::Ice::Int headerSize = 14;
31extern const ::Ice::Byte magic[4];
36const ::Ice::Byte protocolMajor = 1;
37const ::Ice::Byte protocolMinor = 0;
38const ::Ice::Byte protocolEncodingMajor = 1;
39const ::Ice::Byte protocolEncodingMinor = 0;
41const ::Ice::Byte encodingMajor = 1;
42const ::Ice::Byte encodingMinor = 1;
47const ::Ice::Byte requestMsg = 0;
48const ::Ice::Byte requestBatchMsg = 1;
49const ::Ice::Byte replyMsg = 2;
50const ::Ice::Byte validateConnectionMsg = 3;
51const ::Ice::Byte closeConnectionMsg = 4;
56extern const ::Ice::Byte requestHdr[headerSize +
sizeof(
Ice::Int)];
57extern const ::Ice::Byte requestBatchHdr[headerSize +
sizeof(
Ice::Int)];
58extern const ::Ice::Byte replyHdr[headerSize];
72template<
typename T> std::string
73versionToString(
const T& v)
75 std::ostringstream os;
81stringToVersion(const ::std::string& str)
84 stringToMajorMinor(str, v.major, v.minor);
88template<
typename T>
bool
89isSupported(
const T& version,
const T& supported)
91 return version.major == supported.major && version.minor <= supported.minor;
94ICE_API void throwUnsupportedProtocolException(
const char*,
int,
const Ice::ProtocolVersion&,
95 const Ice::ProtocolVersion&);
96ICE_API void throwUnsupportedEncodingException(
const char*,
int,
const Ice::EncodingVersion&,
97 const Ice::EncodingVersion&);
99const ::Ice::Byte OPTIONAL_END_MARKER = 0xFF;
101const ::Ice::Byte FLAG_HAS_TYPE_ID_STRING = (1<<0);
102const ::Ice::Byte FLAG_HAS_TYPE_ID_INDEX = (1<<1);
103const ::Ice::Byte FLAG_HAS_TYPE_ID_COMPACT = (1<<0) | (1<<1);
104const ::Ice::Byte FLAG_HAS_OPTIONAL_MEMBERS = (1<<2);
105const ::Ice::Byte FLAG_HAS_INDIRECTION_TABLE = (1<<3);
106const ::Ice::Byte FLAG_HAS_SLICE_SIZE = (1<<4);
107const ::Ice::Byte FLAG_IS_LAST_SLICE = (1<<5);
140 return IceInternal::versionToString<ProtocolVersion>(v);
149inline ::Ice::ProtocolVersion
152 return IceInternal::stringToVersion<ProtocolVersion>(v);
163 return IceInternal::versionToString<EncodingVersion>(v);
172inline ::Ice::EncodingVersion
175 return IceInternal::stringToVersion<EncodingVersion>(v);
181 return out << static_cast<int>(version.
major) <<
"." <<
static_cast<int>(version.
minor);
187 return out << static_cast<int>(version.
major) <<
"." <<
static_cast<int>(version.
minor);
196checkSupportedProtocol(
const Ice::ProtocolVersion& v)
205checkSupportedProtocolEncoding(
const Ice::EncodingVersion& v)
214checkSupportedEncoding(
const Ice::EncodingVersion& v)
226inline const Ice::ProtocolVersion
227getCompatibleProtocol(
const Ice::ProtocolVersion& v)
251inline const Ice::EncodingVersion&
252getCompatibleEncoding(
const Ice::EncodingVersion& v)
#define ICE_API
Definition Config.h:197
Definition BuiltinSequences.h:56
const ProtocolVersion Protocol_1_0
Identifies protocol version 1.0.
int Int
The mapping for the Slice int type.
Definition Config.h:54
const EncodingVersion currentEncoding
Identifies the latest encoding version.
const EncodingVersion Encoding_1_0
Identifies encoding version 1.0.
const EncodingVersion Encoding_1_1
Identifies encoding version 1.1.
const EncodingVersion currentProtocolEncoding
Identifies the latest protocol encoding version.
inline ::std::string encodingVersionToString(const Ice::EncodingVersion &v)
Converts an encoding version into a string.
Definition Protocol.h:161
inline ::std::string protocolVersionToString(const Ice::ProtocolVersion &v)
Converts a protocol version into a string.
Definition Protocol.h:138
inline ::Ice::ProtocolVersion stringToProtocolVersion(const ::std::string &v)
Converts a string into a protocol version.
Definition Protocol.h:150
inline ::Ice::EncodingVersion stringToEncodingVersion(const ::std::string &v)
Converts a string into an encoding version.
Definition Protocol.h:173
unsigned char Byte
The mapping for the Slice byte type.
Definition Config.h:50
const ProtocolVersion currentProtocol
Identifies the latest protocol version.
std::ostream & operator<<(std::ostream &out, const ProtocolVersion &version)
Definition Protocol.h:179
A version structure for the encoding version.
Definition Version.h:82
::Ice::Byte minor
Definition Version.h:84
::Ice::Byte major
Definition Version.h:83
A version structure for the protocol version.
Definition Version.h:63
::Ice::Byte major
Definition Version.h:64
::Ice::Byte minor
Definition Version.h:65