// ********************************************************************** // // Copyright (c) 2003-present ZeroC, Inc. All rights reserved. // // This copy of Ice is licensed to you under the terms described in the // ICE_LICENSE file included in this distribution. // // ********************************************************************** #ifndef ICE_CONNECTION_REQUEST_HANDLER_H #define ICE_CONNECTION_REQUEST_HANDLER_H #include #include #include namespace IceInternal { class ConnectionRequestHandler ICE_FINAL : public RequestHandler #ifdef ICE_CPP11_MAPPING , public std::enable_shared_from_this #endif { public: ConnectionRequestHandler(const ReferencePtr&, const Ice::ConnectionIPtr&, bool); virtual RequestHandlerPtr update(const RequestHandlerPtr&, const RequestHandlerPtr&); virtual AsyncStatus sendAsyncRequest(const ProxyOutgoingAsyncBasePtr&); virtual void asyncRequestCanceled(const OutgoingAsyncBasePtr&, const Ice::LocalException&); virtual Ice::ConnectionIPtr getConnection(); virtual Ice::ConnectionIPtr waitForConnection(); private: Ice::ConnectionIPtr _connection; bool _compress; }; } #endif