summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/UdpEndpointI.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/Ice/UdpEndpointI.cpp')
-rw-r--r--cpp/src/Ice/UdpEndpointI.cpp22
1 files changed, 16 insertions, 6 deletions
diff --git a/cpp/src/Ice/UdpEndpointI.cpp b/cpp/src/Ice/UdpEndpointI.cpp
index 22d87e20174..dacaef1adb9 100644
--- a/cpp/src/Ice/UdpEndpointI.cpp
+++ b/cpp/src/Ice/UdpEndpointI.cpp
@@ -144,20 +144,30 @@ IceInternal::UdpEndpointI::secure() const
}
TransceiverPtr
-IceInternal::UdpEndpointI::transceiver(EndpointIPtr& endp) const
+IceInternal::UdpEndpointI::transceiver() const
{
- UdpTransceiver* p = new UdpTransceiver(_instance, _host, _port, _mcastInterface, _connect);
- endp = createEndpoint(_host, p->effectivePort(), _connectionId);
- return p;
+ return new UdpTransceiver(_instance, _host, _port, _mcastInterface, _connect);
}
AcceptorPtr
-IceInternal::UdpEndpointI::acceptor(EndpointIPtr& endp, const string&) const
+IceInternal::UdpEndpointI::acceptor(const string&) const
{
- endp = const_cast<UdpEndpointI*>(this);
return 0;
}
+EndpointIPtr
+IceInternal::UdpEndpointI::endpoint(const TransceiverPtr& transceiver) const
+{
+ UdpTransceiver* p = dynamic_cast<UdpTransceiver*>(transceiver.get());
+ return createEndpoint(_host, p->effectivePort(), _connectionId);
+}
+
+EndpointIPtr
+IceInternal::UdpEndpointI::endpoint(const AcceptorPtr& acceptor) const
+{
+ return const_cast<UdpEndpointI*>(this);
+}
+
string
IceInternal::UdpEndpointI::options() const
{