summaryrefslogtreecommitdiff
path: root/cpp
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2012-10-18 11:04:30 +0200
committerBenoit Foucher <benoit@zeroc.com>2012-10-18 11:04:30 +0200
commit276c7279d4743b2947b2a5bbe0ded0e44d051a96 (patch)
tree94ac486c6db06792b26a00c980890e1800e9ea4c /cpp
parentMore WinRT build setting and system fixes (diff)
downloadice-276c7279d4743b2947b2a5bbe0ded0e44d051a96.tar.bz2
ice-276c7279d4743b2947b2a5bbe0ded0e44d051a96.tar.xz
ice-276c7279d4743b2947b2a5bbe0ded0e44d051a96.zip
Fixed ICE-4591, better acceptor tracing
Diffstat (limited to 'cpp')
-rw-r--r--cpp/include/Ice/MetricsAdminI.h3
-rwxr-xr-xcpp/src/Ice/ConnectionFactory.cpp10
-rw-r--r--cpp/src/Ice/EndpointI.cpp4
-rw-r--r--cpp/src/Ice/EndpointI.h9
-rw-r--r--cpp/src/Ice/OpaqueEndpointI.cpp6
-rw-r--r--cpp/src/Ice/OpaqueEndpointI.h1
-rw-r--r--cpp/src/Ice/Reference.cpp4
-rw-r--r--cpp/src/Ice/TcpAcceptor.cpp2
-rw-r--r--cpp/src/Ice/TcpEndpointI.cpp6
-rw-r--r--cpp/src/Ice/TcpEndpointI.h1
-rw-r--r--cpp/src/Ice/UdpEndpointI.cpp6
-rw-r--r--cpp/src/Ice/UdpEndpointI.h1
-rw-r--r--cpp/src/IceGrid/Parser.cpp4
-rw-r--r--cpp/src/IceGrid/Parser.h2
-rw-r--r--cpp/src/IceSSL/AcceptorI.cpp2
-rw-r--r--cpp/src/IceSSL/EndpointI.cpp6
-rw-r--r--cpp/src/IceSSL/EndpointI.h1
-rw-r--r--cpp/test/Ice/background/EndpointI.cpp6
-rw-r--r--cpp/test/Ice/background/EndpointI.h1
19 files changed, 63 insertions, 12 deletions
diff --git a/cpp/include/Ice/MetricsAdminI.h b/cpp/include/Ice/MetricsAdminI.h
index 6dfb2c8eddf..ca0d3b160f3 100644
--- a/cpp/include/Ice/MetricsAdminI.h
+++ b/cpp/include/Ice/MetricsAdminI.h
@@ -426,7 +426,8 @@ public:
{
TPtr t = new T();
t->id = key;
- p = _objects.insert(std::map<std::string, EntryTPtr>::value_type(key, new EntryT(this, t, _detachedQueue.end()))).first;
+ p = _objects.insert(typename std::map<std::string, EntryTPtr>::value_type(
+ key, new EntryT(this, t, _detachedQueue.end()))).first;
}
p->second->attach(helper);
return p->second;
diff --git a/cpp/src/Ice/ConnectionFactory.cpp b/cpp/src/Ice/ConnectionFactory.cpp
index e51fc9ff4a2..78963794398 100755
--- a/cpp/src/Ice/ConnectionFactory.cpp
+++ b/cpp/src/Ice/ConnectionFactory.cpp
@@ -1667,6 +1667,11 @@ IceInternal::IncomingConnectionFactory::setState(State state)
}
if(_acceptor)
{
+ if(_instance->traceLevels()->network >= 1)
+ {
+ Trace out(_instance->initializationData().logger, _instance->traceLevels()->networkCat);
+ out << "accepting " << _endpoint->protocol() << " connections at " << _acceptor->toString();
+ }
dynamic_cast<ObjectAdapterI*>(_adapter.get())->getThreadPool()->_register(this, SocketOperationRead);
}
for_each(_connections.begin(), _connections.end(), Ice::voidMemFun(&ConnectionI::activate));
@@ -1681,6 +1686,11 @@ IceInternal::IncomingConnectionFactory::setState(State state)
}
if(_acceptor)
{
+ if(_instance->traceLevels()->network >= 1)
+ {
+ Trace out(_instance->initializationData().logger, _instance->traceLevels()->networkCat);
+ out << "holding " << _endpoint->protocol() << " connections at " << _acceptor->toString();
+ }
dynamic_cast<ObjectAdapterI*>(_adapter.get())->getThreadPool()->unregister(this, SocketOperationRead);
}
for_each(_connections.begin(), _connections.end(), Ice::voidMemFun(&ConnectionI::hold));
diff --git a/cpp/src/Ice/EndpointI.cpp b/cpp/src/Ice/EndpointI.cpp
index 399e2acc1ca..e9762fe2eec 100644
--- a/cpp/src/Ice/EndpointI.cpp
+++ b/cpp/src/Ice/EndpointI.cpp
@@ -47,13 +47,13 @@ Ice::LocalObject* IceInternal::upCast(EndpointI* p) { return p; }
IceUtil::Shared* IceInternal::upCast(EndpointHostResolver* p) { return p; }
const Ice::EncodingVersion&
-IceInternal::EndpointI::encoding() const
+IceInternal::EndpointI::encodingVersion() const
{
return _encoding;
}
const Ice::ProtocolVersion&
-IceInternal::EndpointI::protocol() const
+IceInternal::EndpointI::protocolVersion() const
{
return _protocol;
}
diff --git a/cpp/src/Ice/EndpointI.h b/cpp/src/Ice/EndpointI.h
index 3dce9a7162a..17f079d1c1e 100644
--- a/cpp/src/Ice/EndpointI.h
+++ b/cpp/src/Ice/EndpointI.h
@@ -57,6 +57,11 @@ public:
// Return the endpoint type.
//
virtual Ice::Short type() const = 0;
+
+ //
+ // Return the protocol name
+ //
+ virtual std::string protocol() const = 0;
//
// Return the timeout for the endpoint in milliseconds. 0 means
@@ -102,12 +107,12 @@ public:
//
// Returns the encoding version supported by this endpoint.
//
- virtual const ::Ice::EncodingVersion& encoding() const;
+ const ::Ice::EncodingVersion& encodingVersion() const;
//
// Returns the encoding version supported by this endpoint.
//
- virtual const ::Ice::ProtocolVersion& protocol() const;
+ const ::Ice::ProtocolVersion& protocolVersion() const;
//
// Return a server side transceiver for this endpoint, or null if a
diff --git a/cpp/src/Ice/OpaqueEndpointI.cpp b/cpp/src/Ice/OpaqueEndpointI.cpp
index 6ce56874f74..5b3bedbaedd 100644
--- a/cpp/src/Ice/OpaqueEndpointI.cpp
+++ b/cpp/src/Ice/OpaqueEndpointI.cpp
@@ -266,6 +266,12 @@ IceInternal::OpaqueEndpointI::type() const
return _type;
}
+std::string
+IceInternal::OpaqueEndpointI::protocol() const
+{
+ return "opaque";
+}
+
Int
IceInternal::OpaqueEndpointI::timeout() const
{
diff --git a/cpp/src/Ice/OpaqueEndpointI.h b/cpp/src/Ice/OpaqueEndpointI.h
index 7e303d68205..303537ac7a2 100644
--- a/cpp/src/Ice/OpaqueEndpointI.h
+++ b/cpp/src/Ice/OpaqueEndpointI.h
@@ -27,6 +27,7 @@ public:
virtual std::string toString() const;
virtual Ice::EndpointInfoPtr getInfo() const;
virtual Ice::Short type() const;
+ virtual std::string protocol() const;
virtual Ice::Int timeout() const;
virtual EndpointIPtr timeout(Ice::Int) const;
virtual EndpointIPtr connectionId(const ::std::string&) const;
diff --git a/cpp/src/Ice/Reference.cpp b/cpp/src/Ice/Reference.cpp
index 3822d8afee6..dadbdf8af0d 100644
--- a/cpp/src/Ice/Reference.cpp
+++ b/cpp/src/Ice/Reference.cpp
@@ -1900,8 +1900,8 @@ struct EndpointIsIncompatible : public unary_function<EndpointIPtr, bool>
operator()(const EndpointIPtr& p) const
{
// If the enpoint doesn't support the proxy encoding or protocol, it's incompatible.
- return !(isSupported(_reference->getEncoding(), p->encoding()) &&
- isSupported(currentProtocol, p->protocol()));
+ return !(isSupported(_reference->getEncoding(), p->encodingVersion()) &&
+ isSupported(currentProtocol, p->protocolVersion()));
}
};
diff --git a/cpp/src/Ice/TcpAcceptor.cpp b/cpp/src/Ice/TcpAcceptor.cpp
index 190648e0755..51a26c3d4ae 100644
--- a/cpp/src/Ice/TcpAcceptor.cpp
+++ b/cpp/src/Ice/TcpAcceptor.cpp
@@ -69,7 +69,7 @@ IceInternal::TcpAcceptor::listen()
if(_traceLevels->network >= 1)
{
Trace out(_logger, _traceLevels->networkCat);
- out << "accepting tcp connections at " << toString();
+ out << "listening for tcp connections at " << toString();
vector<string> interfaces =
getHostsForEndpointExpand(inetAddrToString(_addr), _instance->protocolSupport(), true);
diff --git a/cpp/src/Ice/TcpEndpointI.cpp b/cpp/src/Ice/TcpEndpointI.cpp
index 4baa8fed6cb..1eac94a8988 100644
--- a/cpp/src/Ice/TcpEndpointI.cpp
+++ b/cpp/src/Ice/TcpEndpointI.cpp
@@ -311,6 +311,12 @@ IceInternal::TcpEndpointI::type() const
return TCPEndpointType;
}
+std::string
+IceInternal::TcpEndpointI::protocol() const
+{
+ return "tcp";
+}
+
Int
IceInternal::TcpEndpointI::timeout() const
{
diff --git a/cpp/src/Ice/TcpEndpointI.h b/cpp/src/Ice/TcpEndpointI.h
index e107904e92d..feaba9879a2 100644
--- a/cpp/src/Ice/TcpEndpointI.h
+++ b/cpp/src/Ice/TcpEndpointI.h
@@ -31,6 +31,7 @@ public:
virtual std::string toString() const;
virtual Ice::EndpointInfoPtr getInfo() const;
virtual Ice::Short type() const;
+ virtual std::string protocol() const;
virtual Ice::Int timeout() const;
virtual EndpointIPtr timeout(Ice::Int) const;
virtual EndpointIPtr connectionId(const ::std::string&) const;
diff --git a/cpp/src/Ice/UdpEndpointI.cpp b/cpp/src/Ice/UdpEndpointI.cpp
index 4be1d98bd77..8f508a98c0d 100644
--- a/cpp/src/Ice/UdpEndpointI.cpp
+++ b/cpp/src/Ice/UdpEndpointI.cpp
@@ -346,6 +346,12 @@ IceInternal::UdpEndpointI::type() const
return UDPEndpointType;
}
+std::string
+IceInternal::UdpEndpointI::protocol() const
+{
+ return "udp";
+}
+
Int
IceInternal::UdpEndpointI::timeout() const
{
diff --git a/cpp/src/Ice/UdpEndpointI.h b/cpp/src/Ice/UdpEndpointI.h
index 03b671af62c..dccdf28e796 100644
--- a/cpp/src/Ice/UdpEndpointI.h
+++ b/cpp/src/Ice/UdpEndpointI.h
@@ -31,6 +31,7 @@ public:
virtual std::string toString() const;
virtual Ice::EndpointInfoPtr getInfo() const;
virtual Ice::Short type() const;
+ virtual std::string protocol() const;
virtual Ice::Int timeout() const;
virtual EndpointIPtr timeout(Ice::Int) const;
virtual EndpointIPtr connectionId(const ::std::string&) const;
diff --git a/cpp/src/IceGrid/Parser.cpp b/cpp/src/IceGrid/Parser.cpp
index e17cdc115c3..a2eac633f04 100644
--- a/cpp/src/IceGrid/Parser.cpp
+++ b/cpp/src/IceGrid/Parser.cpp
@@ -2188,7 +2188,7 @@ Parser::showWarranty()
}
void
-Parser::getInput(char* buf, int& result, int maxSize)
+Parser::getInput(char* buf, size_t& result, size_t maxSize)
{
if(!_commands.empty())
{
@@ -2198,7 +2198,7 @@ Parser::getInput(char* buf, int& result, int maxSize)
}
else
{
- result = min(maxSize, static_cast<int>(_commands.length()));
+ result = min(maxSize, _commands.length());
strncpy(buf, _commands.c_str(), result);
_commands.erase(0, result);
if(_commands.empty())
diff --git a/cpp/src/IceGrid/Parser.h b/cpp/src/IceGrid/Parser.h
index 0234d1a43f6..29006dd998e 100644
--- a/cpp/src/IceGrid/Parser.h
+++ b/cpp/src/IceGrid/Parser.h
@@ -126,7 +126,7 @@ public:
void showCopying();
void showWarranty();
- void getInput(char*, int&, int);
+ void getInput(char*, size_t&, size_t);
void continueLine();
const char* getPrompt();
diff --git a/cpp/src/IceSSL/AcceptorI.cpp b/cpp/src/IceSSL/AcceptorI.cpp
index fec3e89d09d..387f25375cf 100644
--- a/cpp/src/IceSSL/AcceptorI.cpp
+++ b/cpp/src/IceSSL/AcceptorI.cpp
@@ -74,7 +74,7 @@ IceSSL::AcceptorI::listen()
if(_instance->networkTraceLevel() >= 1)
{
Trace out(_logger, _instance->networkTraceCategory());
- out << "accepting ssl connections at " << toString();
+ out << "listening for ssl connections at " << toString();
vector<string> interfaces =
IceInternal::getHostsForEndpointExpand(IceInternal::inetAddrToString(_addr), _instance->protocolSupport(),
diff --git a/cpp/src/IceSSL/EndpointI.cpp b/cpp/src/IceSSL/EndpointI.cpp
index 6b2b9b0a55b..5c15d89fdd3 100644
--- a/cpp/src/IceSSL/EndpointI.cpp
+++ b/cpp/src/IceSSL/EndpointI.cpp
@@ -310,6 +310,12 @@ IceSSL::EndpointI::type() const
return EndpointType;
}
+std::string
+IceSSL::EndpointI::protocol() const
+{
+ return "ssl";
+}
+
Int
IceSSL::EndpointI::timeout() const
{
diff --git a/cpp/src/IceSSL/EndpointI.h b/cpp/src/IceSSL/EndpointI.h
index 7a7602a16d7..0115fb71fbb 100644
--- a/cpp/src/IceSSL/EndpointI.h
+++ b/cpp/src/IceSSL/EndpointI.h
@@ -31,6 +31,7 @@ public:
virtual std::string toString() const;
virtual Ice::EndpointInfoPtr getInfo() const;
virtual Ice::Short type() const;
+ virtual std::string protocol() const;
virtual Ice::Int timeout() const;
virtual IceInternal::EndpointIPtr timeout(Ice::Int) const;
virtual IceInternal::EndpointIPtr connectionId(const ::std::string&) const;
diff --git a/cpp/test/Ice/background/EndpointI.cpp b/cpp/test/Ice/background/EndpointI.cpp
index 2ebcfdb4f8d..c1f872691db 100644
--- a/cpp/test/Ice/background/EndpointI.cpp
+++ b/cpp/test/Ice/background/EndpointI.cpp
@@ -41,6 +41,12 @@ EndpointI::type() const
return (Ice::Short)(TYPE_BASE + _endpoint->type());
}
+std::string
+EndpointI::protocol() const
+{
+ return _endpoint->protocol();
+}
+
int
EndpointI::timeout() const
{
diff --git a/cpp/test/Ice/background/EndpointI.h b/cpp/test/Ice/background/EndpointI.h
index c54018a73d8..a3d1fcbef8c 100644
--- a/cpp/test/Ice/background/EndpointI.h
+++ b/cpp/test/Ice/background/EndpointI.h
@@ -23,6 +23,7 @@ public:
// From EndpointI
virtual void streamWrite(IceInternal::BasicStream*) const;
virtual Ice::Short type() const;
+ virtual std::string protocol() const;
virtual IceInternal::EndpointIPtr timeout(Ice::Int) const;
virtual IceInternal::EndpointIPtr connectionId(const ::std::string&) const;
virtual IceInternal::EndpointIPtr compress(bool) const;