summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/ConnectionI.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/Ice/ConnectionI.h')
-rw-r--r--cpp/src/Ice/ConnectionI.h11
1 files changed, 5 insertions, 6 deletions
diff --git a/cpp/src/Ice/ConnectionI.h b/cpp/src/Ice/ConnectionI.h
index bf8f09ce2df..626f1c776be 100644
--- a/cpp/src/Ice/ConnectionI.h
+++ b/cpp/src/Ice/ConnectionI.h
@@ -77,6 +77,7 @@ public:
void sendNoResponse();
IceInternal::EndpointIPtr endpoint() const;
+ bool threadPerConnection() const;
virtual void setAdapter(const ObjectAdapterPtr&); // From Connection.
virtual ObjectAdapterPtr getAdapter() const; // From Connection.
@@ -102,7 +103,7 @@ public:
private:
ConnectionI(const IceInternal::InstancePtr&, const IceInternal::TransceiverPtr&,
- const IceInternal::EndpointIPtr&, const ObjectAdapterPtr&);
+ const IceInternal::EndpointIPtr&, const ObjectAdapterPtr&, bool, size_t);
virtual ~ConnectionI();
friend class IceInternal::IncomingConnectionFactory;
friend class IceInternal::OutgoingConnectionFactory;
@@ -136,24 +137,22 @@ private:
const IceInternal::ServantManagerPtr&, const ObjectAdapterPtr&);
void run(); // For thread per connection.
- void runSecond(); // For second thread per connection.
class ThreadPerConnection : public IceUtil::Thread
{
public:
- ThreadPerConnection(const ConnectionIPtr&, bool);
+ ThreadPerConnection(const ConnectionIPtr&);
virtual void run();
private:
ConnectionIPtr _connection;
- const bool _second;
};
friend class ThreadPerConnection;
// Defined as mutable because "isFinished() const" sets this to 0.
- mutable IceUtil::ThreadPtr _threadPerConnection;
- mutable IceUtil::ThreadPtr _secondThreadPerConnection;
+ mutable IceUtil::ThreadPtr _thread;
+ const bool _threadPerConnection;
IceInternal::TransceiverPtr _transceiver;
const std::string _desc;