Ice 3.7 C++98 API Reference
Loading...
Searching...
No Matches
Connection.h
Go to the documentation of this file.
1//
2// Copyright (c) ZeroC, Inc. All rights reserved.
3//
4//
5// Ice version 3.7.11
6//
7// <auto-generated>
8//
9// Generated from file `Connection.ice'
10//
11// Warning: do not edit this file.
12//
13// </auto-generated>
14//
15
16#ifndef __Ice_Connection_h__
17#define __Ice_Connection_h__
18
20#include <Ice/ProxyF.h>
21#include <Ice/ObjectF.h>
22#include <Ice/ValueF.h>
23#include <Ice/Exception.h>
24#include <Ice/LocalObject.h>
25#include <Ice/StreamHelpers.h>
26#include <Ice/Comparable.h>
27#include <Ice/OutgoingAsync.h>
28#include <IceUtil/ScopedArray.h>
29#include <Ice/Optional.h>
30#include <Ice/ObjectAdapterF.h>
31#include <Ice/Identity.h>
32#include <Ice/Endpoint.h>
34
35#ifndef ICE_IGNORE_VERSION
36# if ICE_INT_VERSION / 100 != 307
37# error Ice version mismatch!
38# endif
39# if ICE_INT_VERSION % 100 >= 50
40# error Beta header file detected
41# endif
42# if ICE_INT_VERSION % 100 < 11
43# error Ice patch level mismatch!
44# endif
45#endif
46
47#ifndef ICE_API
48# if defined(ICE_STATIC_LIBS)
49# define ICE_API /**/
50# elif defined(ICE_API_EXPORTS)
51# define ICE_API ICE_DECLSPEC_EXPORT
52# else
53# define ICE_API ICE_DECLSPEC_IMPORT
54# endif
55#endif
56
57#ifdef ICE_CPP11_MAPPING // C++11 mapping
58
59namespace Ice
60{
61
62class ConnectionInfo;
63class Connection;
68
69}
70
71namespace Ice
72{
73
77enum class CompressBatch : unsigned char
78{
82 Yes,
86 No,
91 BasedOnProxy
92};
93
97enum class ACMClose : unsigned char
98{
102 CloseOff,
121};
122
126enum class ACMHeartbeat : unsigned char
127{
144};
145
150struct ACM
151{
155 int timeout;
164
169 std::tuple<const int&, const ::Ice::ACMClose&, const ::Ice::ACMHeartbeat&> ice_tuple() const
170 {
171 return std::tie(timeout, close, heartbeat);
172 }
173};
174
178enum class ConnectionClose : unsigned char
179{
184 Forcefully,
189 Gracefully,
193 GracefullyWithWait
194};
195
199using HeaderDict = ::std::map<::std::string, ::std::string>;
200
201using Ice::operator<;
202using Ice::operator<=;
203using Ice::operator>;
204using Ice::operator>=;
205using Ice::operator==;
206using Ice::operator!=;
207
208}
209
210namespace Ice
211{
212
217class ICE_CLASS(ICE_API) ConnectionInfo
218{
219public:
220
221 ICE_MEMBER(ICE_API) virtual ~ConnectionInfo();
222
223 ConnectionInfo() = default;
224
225 ConnectionInfo(const ConnectionInfo&) = default;
226 ConnectionInfo(ConnectionInfo&&) = default;
227 ConnectionInfo& operator=(const ConnectionInfo&) = default;
228 ConnectionInfo& operator=(ConnectionInfo&&) = default;
229
237 ConnectionInfo(const ::std::shared_ptr<::Ice::ConnectionInfo>& underlying, bool incoming, const ::std::string& adapterName, const ::std::string& connectionId) :
238 underlying(underlying),
239 incoming(incoming),
240 adapterName(adapterName),
241 connectionId(connectionId)
242 {
243 }
244
249 ::std::shared_ptr<::Ice::ConnectionInfo> underlying;
254 bool incoming;
258 ::std::string adapterName;
262 ::std::string connectionId;
263};
264
271using CloseCallback = ::std::function<void(const ::std::shared_ptr<Connection>& con)>;
272
278using HeartbeatCallback = ::std::function<void(const ::std::shared_ptr<Connection>& con)>;
279
284class ICE_CLASS(ICE_API) Connection
285{
286public:
287
288 ICE_MEMBER(ICE_API) virtual ~Connection();
289
295 virtual void close(ConnectionClose mode) noexcept = 0;
296
309 virtual ::std::shared_ptr<::Ice::ObjectPrx> createProxy(const Identity& id) const = 0;
310
327 virtual void setAdapter(const ::std::shared_ptr<ObjectAdapter>& adapter) = 0;
328
336 virtual ::std::shared_ptr<::Ice::ObjectAdapter> getAdapter() const noexcept = 0;
337
342 virtual ::std::shared_ptr<::Ice::Endpoint> getEndpoint() const noexcept = 0;
343
351 virtual void flushBatchRequests(CompressBatch compress)
352 {
353 flushBatchRequestsAsync(compress).get();
354 }
355
366 virtual ::std::function<void()>
367 flushBatchRequestsAsync(CompressBatch compress,
368 ::std::function<void(::std::exception_ptr)> exception,
369 ::std::function<void(bool)> sent = nullptr) = 0;
370
379 template<template<typename> class P = ::std::promise>
380 auto flushBatchRequestsAsync(CompressBatch compress)
381 -> decltype(::std::declval<P<void>>().get_future())
382 {
383 using Promise = P<void>;
384 auto promise = ::std::make_shared<Promise>();
385 flushBatchRequestsAsync(compress,
386 [promise](::std::exception_ptr ex)
387 {
388 promise->set_exception(::std::move(ex));
389 },
390 [promise](bool)
391 {
392 promise->set_value();
393 });
394 return promise->get_future();
395 }
396
404 virtual void setCloseCallback(CloseCallback callback) = 0;
405
412 virtual void setHeartbeatCallback(HeartbeatCallback callback) = 0;
413
417 virtual void heartbeat()
418 {
419 heartbeatAsync().get();
420 }
421
428 virtual ::std::function<void()>
429 heartbeatAsync(::std::function<void(::std::exception_ptr)> exception,
430 ::std::function<void(bool)> sent = nullptr) = 0;
431
436 template<template<typename> class P = ::std::promise>
437 auto heartbeatAsync()
438 -> decltype(::std::declval<P<void>>().get_future())
439 {
440 using Promise = P<void>;
441 auto promise = ::std::make_shared<Promise>();
442 heartbeatAsync([promise](::std::exception_ptr ex)
443 {
444 promise->set_exception(::std::move(ex));
445 },
446 [promise](bool)
447 {
448 promise->set_value();
449 });
450 return promise->get_future();
451 }
452
459 virtual void setACM(const Ice::optional<int>& timeout, const Ice::optional<ACMClose>& close, const Ice::optional<ACMHeartbeat>& heartbeat) = 0;
460
465 virtual ::Ice::ACM getACM() noexcept = 0;
466
472 virtual ::std::string type() const noexcept = 0;
473
478 virtual int timeout() const noexcept = 0;
479
486 virtual ::std::string toString() const noexcept = 0;
487
492 virtual ::std::shared_ptr<::Ice::ConnectionInfo> getInfo() const = 0;
493
499 virtual void setBufferSize(int rcvSize, int sndSize) = 0;
500
508 virtual void throwException() const = 0;
509};
510
515class ICE_CLASS(ICE_API) IPConnectionInfo : public ::Ice::ConnectionInfo
516{
517public:
518
519 ICE_MEMBER(ICE_API) virtual ~IPConnectionInfo();
520
521 IPConnectionInfo() :
522 localAddress(""),
523 localPort(-1),
524 remoteAddress(""),
525 remotePort(-1)
526 {
527 }
528
529 IPConnectionInfo(const IPConnectionInfo&) = default;
530 IPConnectionInfo(IPConnectionInfo&&) = default;
531 IPConnectionInfo& operator=(const IPConnectionInfo&) = default;
532 IPConnectionInfo& operator=(IPConnectionInfo&&) = default;
533
545 IPConnectionInfo(const ::std::shared_ptr<::Ice::ConnectionInfo>& underlying, bool incoming, const ::std::string& adapterName, const ::std::string& connectionId, const ::std::string& localAddress, int localPort, const ::std::string& remoteAddress, int remotePort) :
546 ConnectionInfo(underlying, incoming, adapterName, connectionId),
547 localAddress(localAddress),
548 localPort(localPort),
549 remoteAddress(remoteAddress),
550 remotePort(remotePort)
551 {
552 }
553
557 ::std::string localAddress;
561 int localPort = -1;
565 ::std::string remoteAddress;
569 int remotePort = -1;
570};
571
576class ICE_CLASS(ICE_API) TCPConnectionInfo : public ::Ice::IPConnectionInfo
577{
578public:
579
580 ICE_MEMBER(ICE_API) virtual ~TCPConnectionInfo();
581
582 TCPConnectionInfo() :
583 rcvSize(0),
584 sndSize(0)
585 {
586 }
587
588 TCPConnectionInfo(const TCPConnectionInfo&) = default;
589 TCPConnectionInfo(TCPConnectionInfo&&) = default;
590 TCPConnectionInfo& operator=(const TCPConnectionInfo&) = default;
591 TCPConnectionInfo& operator=(TCPConnectionInfo&&) = default;
592
606 TCPConnectionInfo(const ::std::shared_ptr<::Ice::ConnectionInfo>& underlying, bool incoming, const ::std::string& adapterName, const ::std::string& connectionId, const ::std::string& localAddress, int localPort, const ::std::string& remoteAddress, int remotePort, int rcvSize, int sndSize) :
607 IPConnectionInfo(underlying, incoming, adapterName, connectionId, localAddress, localPort, remoteAddress, remotePort),
608 rcvSize(rcvSize),
609 sndSize(sndSize)
610 {
611 }
612
616 int rcvSize = 0;
620 int sndSize = 0;
621};
622
627class ICE_CLASS(ICE_API) UDPConnectionInfo : public ::Ice::IPConnectionInfo
628{
629public:
630
631 ICE_MEMBER(ICE_API) virtual ~UDPConnectionInfo();
632
633 UDPConnectionInfo() :
634 mcastPort(-1),
635 rcvSize(0),
636 sndSize(0)
637 {
638 }
639
640 UDPConnectionInfo(const UDPConnectionInfo&) = default;
641 UDPConnectionInfo(UDPConnectionInfo&&) = default;
642 UDPConnectionInfo& operator=(const UDPConnectionInfo&) = default;
643 UDPConnectionInfo& operator=(UDPConnectionInfo&&) = default;
644
660 UDPConnectionInfo(const ::std::shared_ptr<::Ice::ConnectionInfo>& underlying, bool incoming, const ::std::string& adapterName, const ::std::string& connectionId, const ::std::string& localAddress, int localPort, const ::std::string& remoteAddress, int remotePort, const ::std::string& mcastAddress, int mcastPort, int rcvSize, int sndSize) :
661 IPConnectionInfo(underlying, incoming, adapterName, connectionId, localAddress, localPort, remoteAddress, remotePort),
662 mcastAddress(mcastAddress),
663 mcastPort(mcastPort),
664 rcvSize(rcvSize),
665 sndSize(sndSize)
666 {
667 }
668
672 ::std::string mcastAddress;
676 int mcastPort = -1;
680 int rcvSize = 0;
684 int sndSize = 0;
685};
686
691class ICE_CLASS(ICE_API) WSConnectionInfo : public ::Ice::ConnectionInfo
692{
693public:
694
695 ICE_MEMBER(ICE_API) virtual ~WSConnectionInfo();
696
697 WSConnectionInfo() = default;
698
699 WSConnectionInfo(const WSConnectionInfo&) = default;
700 WSConnectionInfo(WSConnectionInfo&&) = default;
701 WSConnectionInfo& operator=(const WSConnectionInfo&) = default;
702 WSConnectionInfo& operator=(WSConnectionInfo&&) = default;
703
712 WSConnectionInfo(const ::std::shared_ptr<::Ice::ConnectionInfo>& underlying, bool incoming, const ::std::string& adapterName, const ::std::string& connectionId, const ::Ice::HeaderDict& headers) :
713 ConnectionInfo(underlying, incoming, adapterName, connectionId),
714 headers(headers)
715 {
716 }
717
721 ::Ice::HeaderDict headers;
722};
723
724}
725
727namespace Ice
728{
729
730}
732
734namespace Ice
735{
736
737using ConnectionInfoPtr = ::std::shared_ptr<ConnectionInfo>;
738
739using ConnectionPtr = ::std::shared_ptr<Connection>;
740
741using IPConnectionInfoPtr = ::std::shared_ptr<IPConnectionInfo>;
742
743using TCPConnectionInfoPtr = ::std::shared_ptr<TCPConnectionInfo>;
744
745using UDPConnectionInfoPtr = ::std::shared_ptr<UDPConnectionInfo>;
746
747using WSConnectionInfoPtr = ::std::shared_ptr<WSConnectionInfo>;
748
749}
751
752#else // C++98 mapping
753
754namespace Ice
755{
756
757class ConnectionInfo;
759ICE_API LocalObject* upCast(ConnectionInfo*);
761typedef ::IceInternal::Handle< ConnectionInfo> ConnectionInfoPtr;
762
763class Connection;
767typedef ::IceInternal::Handle< Connection> ConnectionPtr;
768
769class CloseCallback;
773typedef ::IceInternal::Handle< CloseCallback> CloseCallbackPtr;
774
779typedef ::IceInternal::Handle< HeartbeatCallback> HeartbeatCallbackPtr;
780
781class IPConnectionInfo;
785typedef ::IceInternal::Handle< IPConnectionInfo> IPConnectionInfoPtr;
786
791typedef ::IceInternal::Handle< TCPConnectionInfo> TCPConnectionInfoPtr;
792
797typedef ::IceInternal::Handle< UDPConnectionInfo> UDPConnectionInfoPtr;
798
799class WSConnectionInfo;
803typedef ::IceInternal::Handle< WSConnectionInfo> WSConnectionInfoPtr;
804
805}
806
807namespace Ice
808{
809
829
858
881
886struct ACM
887{
900
901 bool operator==(const ACM& rhs_) const
902 {
903 if(this == &rhs_)
904 {
905 return true;
906 }
907 if(timeout != rhs_.timeout)
908 {
909 return false;
910 }
911 if(close != rhs_.close)
912 {
913 return false;
914 }
915 if(heartbeat != rhs_.heartbeat)
916 {
917 return false;
918 }
919 return true;
920 }
921
922 bool operator<(const ACM& rhs_) const
923 {
924 if(this == &rhs_)
925 {
926 return false;
927 }
928 if(timeout < rhs_.timeout)
929 {
930 return true;
931 }
932 else if(rhs_.timeout < timeout)
933 {
934 return false;
935 }
936 if(close < rhs_.close)
937 {
938 return true;
939 }
940 else if(rhs_.close < close)
941 {
942 return false;
943 }
944 if(heartbeat < rhs_.heartbeat)
945 {
946 return true;
947 }
948 else if(rhs_.heartbeat < heartbeat)
949 {
950 return false;
951 }
952 return false;
953 }
954
955 bool operator!=(const ACM& rhs_) const
956 {
957 return !operator==(rhs_);
958 }
959 bool operator<=(const ACM& rhs_) const
960 {
961 return operator<(rhs_) || operator==(rhs_);
962 }
963 bool operator>(const ACM& rhs_) const
964 {
965 return !operator<(rhs_) && !operator==(rhs_);
966 }
967 bool operator>=(const ACM& rhs_) const
968 {
969 return !operator<(rhs_);
970 }
971};
972
993
997typedef ::std::map< ::std::string, ::std::string> HeaderDict;
998
999}
1000
1001namespace Ice
1002{
1003
1009class Callback_Connection_flushBatchRequests_Base : public virtual ::IceInternal::CallbackBase { };
1010typedef ::IceUtil::Handle< Callback_Connection_flushBatchRequests_Base> Callback_Connection_flushBatchRequestsPtr;
1011
1017class Callback_Connection_heartbeat_Base : public virtual ::IceInternal::CallbackBase { };
1018typedef ::IceUtil::Handle< Callback_Connection_heartbeat_Base> Callback_Connection_heartbeatPtr;
1019
1020}
1021
1022namespace Ice
1023{
1024
1029class ICE_API ConnectionInfo : public virtual LocalObject
1030{
1031public:
1032
1034
1036
1038 {
1039 }
1040
1048 ConnectionInfo(const ::Ice::ConnectionInfoPtr& underlying, bool incoming, const ::std::string& adapterName, const ::std::string& connectionId) :
1053 {
1054 }
1055
1056#ifdef ICE_CPP11_COMPILER
1057 ConnectionInfo(const ConnectionInfo&) = default;
1058 ConnectionInfo& operator=(const ConnectionInfo&) = default;
1059#endif
1060
1074 ::std::string adapterName;
1078 ::std::string connectionId;
1079};
1080
1082inline bool operator==(const ConnectionInfo& lhs, const ConnectionInfo& rhs)
1083{
1084 return static_cast<const LocalObject&>(lhs) == static_cast<const LocalObject&>(rhs);
1085}
1086
1087inline bool operator<(const ConnectionInfo& lhs, const ConnectionInfo& rhs)
1088{
1089 return static_cast<const LocalObject&>(lhs) < static_cast<const LocalObject&>(rhs);
1090}
1092
1099class ICE_API CloseCallback : public virtual LocalObject
1100{
1101public:
1102
1104
1106
1107#ifdef ICE_CPP11_COMPILER
1108 CloseCallback() = default;
1109 CloseCallback(const CloseCallback&) = default;
1110 CloseCallback& operator=(const CloseCallback&) = default;
1111#endif
1112
1119 virtual void closed(const ConnectionPtr& con) = 0;
1120};
1121
1123inline bool operator==(const CloseCallback& lhs, const CloseCallback& rhs)
1124{
1125 return static_cast<const LocalObject&>(lhs) == static_cast<const LocalObject&>(rhs);
1126}
1127
1128inline bool operator<(const CloseCallback& lhs, const CloseCallback& rhs)
1129{
1130 return static_cast<const LocalObject&>(lhs) < static_cast<const LocalObject&>(rhs);
1131}
1133
1141{
1142public:
1143
1145
1147
1148#ifdef ICE_CPP11_COMPILER
1149 HeartbeatCallback() = default;
1150 HeartbeatCallback(const HeartbeatCallback&) = default;
1152#endif
1153
1159 virtual void heartbeat(const ConnectionPtr& con) = 0;
1160};
1161
1163inline bool operator==(const HeartbeatCallback& lhs, const HeartbeatCallback& rhs)
1164{
1165 return static_cast<const LocalObject&>(lhs) == static_cast<const LocalObject&>(rhs);
1166}
1167
1168inline bool operator<(const HeartbeatCallback& lhs, const HeartbeatCallback& rhs)
1169{
1170 return static_cast<const LocalObject&>(lhs) < static_cast<const LocalObject&>(rhs);
1171}
1173
1178class ICE_API Connection : public virtual LocalObject
1179{
1180public:
1181
1183
1184 virtual ~Connection();
1185
1186#ifdef ICE_CPP11_COMPILER
1187 Connection() = default;
1188 Connection(const Connection&) = default;
1189 Connection& operator=(const Connection&) = default;
1190#endif
1191
1197 virtual void close(ConnectionClose mode) ICE_NOEXCEPT = 0;
1198
1211 virtual ObjectPrx createProxy(const Identity& id) const = 0;
1212
1229 virtual void setAdapter(const ObjectAdapterPtr& adapter) = 0;
1230
1239
1245
1253 virtual void flushBatchRequests(CompressBatch compress) = 0;
1254
1264
1275 virtual AsyncResultPtr begin_flushBatchRequests(CompressBatch compress, const CallbackPtr& cb, const LocalObjectPtr& cookie = 0) = 0;
1276
1288
1295 virtual void end_flushBatchRequests(const AsyncResultPtr& result) = 0;
1296
1304 virtual void setCloseCallback(const CloseCallbackPtr& callback) = 0;
1305
1312 virtual void setHeartbeatCallback(const HeartbeatCallbackPtr& callback) = 0;
1313
1317 virtual void heartbeat() = 0;
1318
1324
1331 virtual AsyncResultPtr begin_heartbeat(const CallbackPtr& cb, const LocalObjectPtr& cookie = 0) = 0;
1332
1340
1345 virtual void end_heartbeat(const AsyncResultPtr& result) = 0;
1346
1353 virtual void setACM(const IceUtil::Optional<Int>& timeout, const IceUtil::Optional<ACMClose>& close, const IceUtil::Optional<ACMHeartbeat>& heartbeat) = 0;
1354
1359 virtual ACM getACM() ICE_NOEXCEPT = 0;
1360
1366 virtual ::std::string type() const ICE_NOEXCEPT = 0;
1367
1372 virtual Int timeout() const ICE_NOEXCEPT = 0;
1373
1380 virtual ::std::string toString() const ICE_NOEXCEPT = 0;
1381
1386 virtual ConnectionInfoPtr getInfo() const = 0;
1387
1393 virtual void setBufferSize(Int rcvSize, Int sndSize) = 0;
1394
1402 virtual void throwException() const = 0;
1403};
1404
1406inline bool operator==(const Connection& lhs, const Connection& rhs)
1407{
1408 return static_cast<const LocalObject&>(lhs) == static_cast<const LocalObject&>(rhs);
1409}
1410
1411inline bool operator<(const Connection& lhs, const Connection& rhs)
1412{
1413 return static_cast<const LocalObject&>(lhs) < static_cast<const LocalObject&>(rhs);
1414}
1416
1422{
1423public:
1424
1426
1428
1431 localAddress(""),
1432 localPort(-1),
1433 remoteAddress(""),
1434 remotePort(-1)
1435 {
1436 }
1437
1449 IPConnectionInfo(const ::Ice::ConnectionInfoPtr& underlying, bool incoming, const ::std::string& adapterName, const ::std::string& connectionId, const ::std::string& localAddress, ::Ice::Int localPort, const ::std::string& remoteAddress, ::Ice::Int remotePort) :
1455 {
1456 }
1457
1458#ifdef ICE_CPP11_COMPILER
1459 IPConnectionInfo(const IPConnectionInfo&) = default;
1460 IPConnectionInfo& operator=(const IPConnectionInfo&) = default;
1461#endif
1462
1466 ::std::string localAddress;
1474 ::std::string remoteAddress;
1479};
1480
1482inline bool operator==(const IPConnectionInfo& lhs, const IPConnectionInfo& rhs)
1483{
1484 return static_cast<const LocalObject&>(lhs) == static_cast<const LocalObject&>(rhs);
1485}
1486
1487inline bool operator<(const IPConnectionInfo& lhs, const IPConnectionInfo& rhs)
1488{
1489 return static_cast<const LocalObject&>(lhs) < static_cast<const LocalObject&>(rhs);
1490}
1492
1498{
1499public:
1500
1502
1504
1507 rcvSize(0),
1508 sndSize(0)
1509 {
1510 }
1511
1525 TCPConnectionInfo(const ::Ice::ConnectionInfoPtr& underlying, bool incoming, const ::std::string& adapterName, const ::std::string& connectionId, const ::std::string& localAddress, ::Ice::Int localPort, const ::std::string& remoteAddress, ::Ice::Int remotePort, ::Ice::Int rcvSize, ::Ice::Int sndSize) :
1529 {
1530 }
1531
1532#ifdef ICE_CPP11_COMPILER
1533 TCPConnectionInfo(const TCPConnectionInfo&) = default;
1534 TCPConnectionInfo& operator=(const TCPConnectionInfo&) = default;
1535#endif
1536
1545};
1546
1548inline bool operator==(const TCPConnectionInfo& lhs, const TCPConnectionInfo& rhs)
1549{
1550 return static_cast<const LocalObject&>(lhs) == static_cast<const LocalObject&>(rhs);
1551}
1552
1553inline bool operator<(const TCPConnectionInfo& lhs, const TCPConnectionInfo& rhs)
1554{
1555 return static_cast<const LocalObject&>(lhs) < static_cast<const LocalObject&>(rhs);
1556}
1558
1564{
1565public:
1566
1568
1570
1573 mcastPort(-1),
1574 rcvSize(0),
1575 sndSize(0)
1576 {
1577 }
1578
1594 UDPConnectionInfo(const ::Ice::ConnectionInfoPtr& underlying, bool incoming, const ::std::string& adapterName, const ::std::string& connectionId, const ::std::string& localAddress, ::Ice::Int localPort, const ::std::string& remoteAddress, ::Ice::Int remotePort, const ::std::string& mcastAddress, ::Ice::Int mcastPort, ::Ice::Int rcvSize, ::Ice::Int sndSize) :
1600 {
1601 }
1602
1603#ifdef ICE_CPP11_COMPILER
1604 UDPConnectionInfo(const UDPConnectionInfo&) = default;
1605 UDPConnectionInfo& operator=(const UDPConnectionInfo&) = default;
1606#endif
1607
1611 ::std::string mcastAddress;
1624};
1625
1627inline bool operator==(const UDPConnectionInfo& lhs, const UDPConnectionInfo& rhs)
1628{
1629 return static_cast<const LocalObject&>(lhs) == static_cast<const LocalObject&>(rhs);
1630}
1631
1632inline bool operator<(const UDPConnectionInfo& lhs, const UDPConnectionInfo& rhs)
1633{
1634 return static_cast<const LocalObject&>(lhs) < static_cast<const LocalObject&>(rhs);
1635}
1637
1643{
1644public:
1645
1647
1649
1651 {
1652 }
1653
1662 WSConnectionInfo(const ::Ice::ConnectionInfoPtr& underlying, bool incoming, const ::std::string& adapterName, const ::std::string& connectionId, const ::Ice::HeaderDict& headers) :
1665 {
1666 }
1667
1668#ifdef ICE_CPP11_COMPILER
1669 WSConnectionInfo(const WSConnectionInfo&) = default;
1670 WSConnectionInfo& operator=(const WSConnectionInfo&) = default;
1671#endif
1672
1677};
1678
1680inline bool operator==(const WSConnectionInfo& lhs, const WSConnectionInfo& rhs)
1681{
1682 return static_cast<const LocalObject&>(lhs) == static_cast<const LocalObject&>(rhs);
1683}
1684
1685inline bool operator<(const WSConnectionInfo& lhs, const WSConnectionInfo& rhs)
1686{
1687 return static_cast<const LocalObject&>(lhs) < static_cast<const LocalObject&>(rhs);
1688}
1690
1691}
1692
1694namespace Ice
1695{
1696
1697}
1699
1700#endif
1701
1703#endif
#define ICE_API
Definition Config.h:197
#define ICE_NOEXCEPT
Definition Config.h:128
#define ICE_MEMBER(API)
Definition Config.h:177
#define ICE_CLASS(API)
Definition Config.h:176
Shared & operator=(const Shared &)
Definition Shared.h:94
Base class for asynchronous callback wrapper classes used for calls to IceProxy::Ice::Connection::beg...
Definition Connection.h:1009
Base class for asynchronous callback wrapper classes used for calls to IceProxy::Ice::Connection::beg...
Definition Connection.h:1017
An application can implement this interface to receive notifications when a connection closes.
Definition Connection.h:1100
virtual ~CloseCallback()
virtual void closed(const ConnectionPtr &con)=0
This method is called by the connection when the connection is closed.
CloseCallbackPtr PointerType
Definition Connection.h:1103
Base class providing access to the connection details.
Definition Connection.h:1030
ConnectionInfo(const ::Ice::ConnectionInfoPtr &underlying, bool incoming, const ::std::string &adapterName, const ::std::string &connectionId)
One-shot constructor to initialize all data members.
Definition Connection.h:1048
::Ice::ConnectionInfoPtr underlying
The information of the underyling transport or null if there's no underlying transport.
Definition Connection.h:1065
ConnectionInfo()
Definition Connection.h:1037
ConnectionInfoPtr PointerType
Definition Connection.h:1033
::std::string adapterName
The name of the adapter associated with the connection.
Definition Connection.h:1074
::std::string connectionId
The connection id.
Definition Connection.h:1078
virtual ~ConnectionInfo()
bool incoming
Whether or not the connection is an incoming or outgoing connection.
Definition Connection.h:1070
The user-level interface to a connection.
Definition Connection.h:1179
virtual void setAdapter(const ObjectAdapterPtr &adapter)=0
Explicitly set an object adapter that dispatches requests that are received over this connection.
virtual void end_flushBatchRequests(const AsyncResultPtr &result)=0
Flush any pending batch requests for this connection.
virtual ObjectPrx createProxy(const Identity &id) const =0
Create a special proxy that always uses this connection.
virtual void flushBatchRequests(CompressBatch compress)=0
Flush any pending batch requests for this connection.
virtual AsyncResultPtr begin_flushBatchRequests(CompressBatch compress)=0
Flush any pending batch requests for this connection.
virtual ObjectAdapterPtr getAdapter() const =0
Get the object adapter that dispatches requests for this connection.
virtual::std::string toString() const =0
Return a description of the connection as human readable text, suitable for logging or error messages...
virtual void end_heartbeat(const AsyncResultPtr &result)=0
Send a heartbeat message.
virtual void setACM(const IceUtil::Optional< Int > &timeout, const IceUtil::Optional< ACMClose > &close, const IceUtil::Optional< ACMHeartbeat > &heartbeat)=0
Set the active connection management parameters.
virtual ~Connection()
virtual ConnectionInfoPtr getInfo() const =0
Returns the connection information.
virtual::std::string type() const =0
Return the connection type.
virtual void setHeartbeatCallback(const HeartbeatCallbackPtr &callback)=0
Set a heartbeat callback on the connection.
virtual ACM getACM()=0
Get the ACM parameters.
virtual Int timeout() const =0
Get the timeout for the connection.
virtual AsyncResultPtr begin_heartbeat()=0
Send a heartbeat message.
ConnectionPtr PointerType
Definition Connection.h:1182
virtual EndpointPtr getEndpoint() const =0
Get the endpoint from which the connection was created.
virtual void heartbeat()=0
Send a heartbeat message.
virtual void setCloseCallback(const CloseCallbackPtr &callback)=0
Set a close callback on the connection.
virtual void setBufferSize(Int rcvSize, Int sndSize)=0
Set the connection buffer receive/send size.
virtual void throwException() const =0
Throw an exception indicating the reason for connection closure.
virtual void close(ConnectionClose mode)=0
Manually close the connection using the specified closure mode.
An application can implement this interface to receive notifications when a connection receives a hea...
Definition Connection.h:1141
HeartbeatCallbackPtr PointerType
Definition Connection.h:1144
virtual void heartbeat(const ConnectionPtr &con)=0
This method is called by the connection when a heartbeat is received from the peer.
virtual ~HeartbeatCallback()
Provides access to the connection details of an IP connection.
Definition Connection.h:1422
IPConnectionInfoPtr PointerType
Definition Connection.h:1425
::Ice::Int localPort
The local port.
Definition Connection.h:1470
IPConnectionInfo(const ::Ice::ConnectionInfoPtr &underlying, bool incoming, const ::std::string &adapterName, const ::std::string &connectionId, const ::std::string &localAddress, ::Ice::Int localPort, const ::std::string &remoteAddress, ::Ice::Int remotePort)
One-shot constructor to initialize all data members.
Definition Connection.h:1449
virtual ~IPConnectionInfo()
::std::string remoteAddress
The remote address.
Definition Connection.h:1474
IPConnectionInfo()
Default constructor that assigns default values to members as specified in the Slice definition.
Definition Connection.h:1430
::Ice::Int remotePort
The remote port.
Definition Connection.h:1478
::std::string localAddress
The local address.
Definition Connection.h:1466
Base class for local Slice classes and interfaces.
Definition LocalObject.h:25
Provides access to the connection details of a TCP connection.
Definition Connection.h:1498
::Ice::Int sndSize
The connection buffer send size.
Definition Connection.h:1544
virtual ~TCPConnectionInfo()
TCPConnectionInfo(const ::Ice::ConnectionInfoPtr &underlying, bool incoming, const ::std::string &adapterName, const ::std::string &connectionId, const ::std::string &localAddress, ::Ice::Int localPort, const ::std::string &remoteAddress, ::Ice::Int remotePort, ::Ice::Int rcvSize, ::Ice::Int sndSize)
One-shot constructor to initialize all data members.
Definition Connection.h:1525
TCPConnectionInfoPtr PointerType
Definition Connection.h:1501
::Ice::Int rcvSize
The connection buffer receive size.
Definition Connection.h:1540
TCPConnectionInfo()
Default constructor that assigns default values to members as specified in the Slice definition.
Definition Connection.h:1506
Provides access to the connection details of a UDP connection.
Definition Connection.h:1564
::std::string mcastAddress
The multicast address.
Definition Connection.h:1611
virtual ~UDPConnectionInfo()
::Ice::Int sndSize
The connection buffer send size.
Definition Connection.h:1623
UDPConnectionInfoPtr PointerType
Definition Connection.h:1567
::Ice::Int mcastPort
The multicast port.
Definition Connection.h:1615
UDPConnectionInfo(const ::Ice::ConnectionInfoPtr &underlying, bool incoming, const ::std::string &adapterName, const ::std::string &connectionId, const ::std::string &localAddress, ::Ice::Int localPort, const ::std::string &remoteAddress, ::Ice::Int remotePort, const ::std::string &mcastAddress, ::Ice::Int mcastPort, ::Ice::Int rcvSize, ::Ice::Int sndSize)
One-shot constructor to initialize all data members.
Definition Connection.h:1594
::Ice::Int rcvSize
The connection buffer receive size.
Definition Connection.h:1619
UDPConnectionInfo()
Default constructor that assigns default values to members as specified in the Slice definition.
Definition Connection.h:1572
Provides access to the connection details of a WebSocket connection.
Definition Connection.h:1643
::Ice::HeaderDict headers
The headers from the HTTP upgrade request.
Definition Connection.h:1676
WSConnectionInfo(const ::Ice::ConnectionInfoPtr &underlying, bool incoming, const ::std::string &adapterName, const ::std::string &connectionId, const ::Ice::HeaderDict &headers)
One-shot constructor to initialize all data members.
Definition Connection.h:1662
WSConnectionInfo()
Definition Connection.h:1650
WSConnectionInfoPtr PointerType
Definition Connection.h:1646
virtual ~WSConnectionInfo()
Definition Cond.h:39
Definition BuiltinSequences.h:113
int Int
The mapping for the Slice int type.
Definition Config.h:54
::IceInternal::Handle< TCPConnectionInfo > TCPConnectionInfoPtr
Definition Connection.h:791
IceUtil::Handle< ::IceInternal::GenericCallbackBase > CallbackPtr
Definition OutgoingAsync.h:822
::IceInternal::Handle< UDPConnectionInfo > UDPConnectionInfoPtr
Definition Connection.h:797
IceInternal::ProxyHandle< ::IceProxy::Ice::Object > ObjectPrx
Smart pointer for an object proxy.
Definition ProxyF.h:47
::IceInternal::Handle< CloseCallback > CloseCallbackPtr
Definition Connection.h:773
ACMHeartbeat
Specifies the heartbeat semantics for Active Connection Management.
Definition Connection.h:863
@ HeartbeatAlways
Send a heartbeat at regular intervals until the connection is closed.
Definition Connection.h:879
@ HeartbeatOnIdle
Send a heartbeat at regular intervals when the connection is idle.
Definition Connection.h:875
@ HeartbeatOnDispatch
Send a heartbeat at regular intervals if the connection is idle and only if there are pending dispatc...
Definition Connection.h:871
@ HeartbeatOff
Disables heartbeats.
Definition Connection.h:867
ConnectionClose
Determines the behavior when manually closing a connection.
Definition Connection.h:977
@ ConnectionCloseGracefullyWithWait
Wait for all pending invocations to complete before closing the connection.
Definition Connection.h:991
@ ConnectionCloseGracefully
Close the connection by notifying the peer but do not wait for pending outgoing invocations to comple...
Definition Connection.h:987
@ ConnectionCloseForcefully
Close the connection immediately without sending a close connection protocol message to the peer and ...
Definition Connection.h:982
::IceInternal::Handle< Connection > ConnectionPtr
Definition Connection.h:767
::IceInternal::Handle< WSConnectionInfo > WSConnectionInfoPtr
Definition Connection.h:803
IceInternal::Handle< LocalObject > LocalObjectPtr
Definition LocalObjectF.h:17
::IceUtil::Handle< Callback_Connection_flushBatchRequests_Base > Callback_Connection_flushBatchRequestsPtr
Definition Connection.h:1010
IceInternal::Handle< AsyncResult > AsyncResultPtr
Definition AsyncResultF.h:18
CompressBatch
The batch compression option when flushing queued batch requests.
Definition Connection.h:814
@ CompressBatchYes
Compress the batch requests.
Definition Connection.h:818
@ CompressBatchNo
Don't compress the batch requests.
Definition Connection.h:822
@ CompressBatchBasedOnProxy
Compress the batch requests if at least one request was made on a compressed proxy.
Definition Connection.h:827
::IceInternal::Handle< Endpoint > EndpointPtr
Definition Endpoint.h:468
::IceInternal::Handle< ObjectAdapter > ObjectAdapterPtr
Definition ObjectAdapter.h:620
::std::map< ::std::string, ::std::string > HeaderDict
A collection of HTTP headers.
Definition Connection.h:997
IceUtil::Shared * upCast(::Ice::AsyncResult *)
::IceInternal::Handle< HeartbeatCallback > HeartbeatCallbackPtr
Definition Connection.h:779
::IceUtil::Handle< Callback_Connection_heartbeat_Base > Callback_Connection_heartbeatPtr
Definition Connection.h:1018
::IceInternal::Handle< ConnectionInfo > ConnectionInfoPtr
Definition Connection.h:761
ACMClose
Specifies the close semantics for Active Connection Management.
Definition Connection.h:834
@ CloseOff
Disables automatic connection closure.
Definition Connection.h:838
@ CloseOnIdle
Gracefully closes a connection that has been idle for the configured timeout period.
Definition Connection.h:842
@ CloseOnInvocationAndIdle
Combines the behaviors of CloseOnIdle and CloseOnInvocation.
Definition Connection.h:851
@ CloseOnInvocation
Forcefully closes a connection that has been idle for the configured timeout period,...
Definition Connection.h:847
@ CloseOnIdleForceful
Forcefully closes a connection that has been idle for the configured timeout period,...
Definition Connection.h:856
::IceInternal::Handle< IPConnectionInfo > IPConnectionInfoPtr
Definition Connection.h:785
A collection of Active Connection Management configuration settings.
Definition Connection.h:887
::Ice::Int timeout
A timeout value in seconds.
Definition Connection.h:891
bool operator>=(const ACM &rhs_) const
Definition Connection.h:967
::Ice::ACMClose close
The close semantics.
Definition Connection.h:895
bool operator!=(const ACM &rhs_) const
Definition Connection.h:955
bool operator>(const ACM &rhs_) const
Definition Connection.h:963
bool operator==(const ACM &rhs_) const
Definition Connection.h:901
::Ice::ACMHeartbeat heartbeat
The heartbeat semantics.
Definition Connection.h:899
bool operator<(const ACM &rhs_) const
Definition Connection.h:922
bool operator<=(const ACM &rhs_) const
Definition Connection.h:959
The identity of an Ice object.
Definition Identity.h:144