Issue #3479 - implement getInetSocketAddress() and flush()
deprecate old getInetSocketAddress() and add getRemoteAddress() Signed-off-by: lachan-roberts <lachlan@webtide.com>
This commit is contained in:
parent
f42ef1356e
commit
04f0872913
|
@ -20,6 +20,7 @@ package org.eclipse.jetty.websocket.api;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.net.InetSocketAddress;
|
import java.net.InetSocketAddress;
|
||||||
|
import java.net.SocketAddress;
|
||||||
import java.nio.ByteBuffer;
|
import java.nio.ByteBuffer;
|
||||||
import java.util.concurrent.Future;
|
import java.util.concurrent.Future;
|
||||||
|
|
||||||
|
@ -144,10 +145,18 @@ public interface RemoteEndpoint
|
||||||
/**
|
/**
|
||||||
* Get the InetSocketAddress for the established connection.
|
* Get the InetSocketAddress for the established connection.
|
||||||
*
|
*
|
||||||
* @return the InetSocketAddress for the established connection. (or null, if the connection is no longer established)
|
* @return the InetSocketAddress for the established connection. (or null, if there is none)
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
InetSocketAddress getInetSocketAddress();
|
InetSocketAddress getInetSocketAddress();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the SocketAddress for the established connection.
|
||||||
|
*
|
||||||
|
* @return the SocketAddress for the established connection.
|
||||||
|
*/
|
||||||
|
SocketAddress getRemoteAddress();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Flushes messages that may have been batched by the implementation.
|
* Flushes messages that may have been batched by the implementation.
|
||||||
*
|
*
|
||||||
|
|
|
@ -20,6 +20,7 @@ package org.eclipse.jetty.websocket.common;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.net.InetSocketAddress;
|
import java.net.InetSocketAddress;
|
||||||
|
import java.net.SocketAddress;
|
||||||
import java.nio.ByteBuffer;
|
import java.nio.ByteBuffer;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.concurrent.Future;
|
import java.util.concurrent.Future;
|
||||||
|
@ -255,12 +256,26 @@ public class JettyWebSocketRemoteEndpoint implements org.eclipse.jetty.websocket
|
||||||
@Override
|
@Override
|
||||||
public InetSocketAddress getInetSocketAddress()
|
public InetSocketAddress getInetSocketAddress()
|
||||||
{
|
{
|
||||||
|
SocketAddress remoteAddress = coreSession.getRemoteAddress();
|
||||||
|
if (remoteAddress instanceof InetSocketAddress)
|
||||||
|
return (InetSocketAddress)remoteAddress;
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public SocketAddress getRemoteAddress()
|
||||||
|
{
|
||||||
|
return coreSession.getRemoteAddress();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void flush() throws IOException
|
public void flush() throws IOException
|
||||||
{
|
{
|
||||||
|
try (SharedBlockingCallback.Blocker b = blocker.acquire())
|
||||||
|
{
|
||||||
|
coreSession.flush(b);
|
||||||
|
b.block();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue