diff options
author | Michi Henning <michi@zeroc.com> | 2009-12-09 15:12:12 +1000 |
---|---|---|
committer | Michi Henning <michi@zeroc.com> | 2009-12-09 15:12:12 +1000 |
commit | d0d27bb7cf7b5ff8f9f3028f63f650f1d0b01678 (patch) | |
tree | 9524523d712bca42f6bd36fabd72c76371ecdca8 /cpp/include/Ice/OutgoingAsync.h | |
parent | Merge branch 'master' of ssh://cvs.zeroc.com/home/git/ice (diff) | |
parent | fix for cpp/test/Ice/Makefile.mak (diff) | |
download | ice-d0d27bb7cf7b5ff8f9f3028f63f650f1d0b01678.tar.bz2 ice-d0d27bb7cf7b5ff8f9f3028f63f650f1d0b01678.tar.xz ice-d0d27bb7cf7b5ff8f9f3028f63f650f1d0b01678.zip |
Merge branch 'master' of ssh://cvs.zeroc.com/home/git/ice
Diffstat (limited to 'cpp/include/Ice/OutgoingAsync.h')
-rw-r--r-- | cpp/include/Ice/OutgoingAsync.h | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/cpp/include/Ice/OutgoingAsync.h b/cpp/include/Ice/OutgoingAsync.h index 1bd2a7e34b8..b8ae04679a1 100644 --- a/cpp/include/Ice/OutgoingAsync.h +++ b/cpp/include/Ice/OutgoingAsync.h @@ -258,6 +258,49 @@ private: Ice::ObjectPrx _proxy; }; +class ICE_API ConnectionBatchOutgoingAsync : public BatchOutgoingAsync +{ +public: + + ConnectionBatchOutgoingAsync(const Ice::ConnectionIPtr&, const InstancePtr&, const std::string&, + const CallbackBasePtr&, const Ice::LocalObjectPtr&); + + void __send(); + + virtual Ice::ConnectionPtr getConnection() const; + +private: + + const Ice::ConnectionIPtr _connection; +}; + +class ICE_API CommunicatorBatchOutgoingAsync : public BatchOutgoingAsync +{ +public: + + CommunicatorBatchOutgoingAsync(const Ice::CommunicatorPtr&, const InstancePtr&, const std::string&, + const CallbackBasePtr&, const Ice::LocalObjectPtr&); + + void flushConnection(const Ice::ConnectionPtr&); + void ready(); + + void completed(const Ice::AsyncResultPtr&); + void sent(const Ice::AsyncResultPtr&); + + virtual Ice::CommunicatorPtr + getCommunicator() const + { + return _communicator; + } + +private: + + void check(const Ice::AsyncResultPtr&, const Ice::LocalException*, bool); + + const Ice::CommunicatorPtr _communicator; + int _useCount; +}; + // // Base class for all callbacks. // |