Class HttpTunnelingClientSocketChannel
- java.lang.Object
-
- org.jboss.netty.channel.AbstractChannel
-
- org.jboss.netty.channel.socket.http.HttpTunnelingClientSocketChannel
-
- All Implemented Interfaces:
java.lang.Comparable<Channel>,Channel,SocketChannel
class HttpTunnelingClientSocketChannel extends AbstractChannel implements SocketChannel
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) classHttpTunnelingClientSocketChannel.ServletChannelHandler
-
Field Summary
Fields Modifier and Type Field Description (package private) HttpTunnelingSocketChannelConfigconfigprivate HttpTunnelingClientSocketChannel.ServletChannelHandlerhandler(package private) java.lang.ObjectinterestOpsLock(package private) SocketChannelrealChannel(package private) booleanrequestHeaderWritten-
Fields inherited from interface org.jboss.netty.channel.Channel
OP_NONE, OP_READ, OP_READ_WRITE, OP_WRITE
-
-
Constructor Summary
Constructors Constructor Description HttpTunnelingClientSocketChannel(ChannelFactory factory, ChannelPipeline pipeline, ChannelSink sink, ClientSocketChannelFactory clientSocketChannelFactory)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) voidbindReal(java.net.SocketAddress localAddress, ChannelFuture future)(package private) voidcloseReal(ChannelFuture future)(package private) voidconnectReal(java.net.SocketAddress remoteAddress, ChannelFuture future)(package private) voiddisconnectReal(ChannelFuture future)HttpTunnelingSocketChannelConfiggetConfig()Returns the configuration of this channel.intgetInterestOps()Returns the currentinterestOpsof this channel.java.net.InetSocketAddressgetLocalAddress()Returns the local address where this channel is bound to.java.net.InetSocketAddressgetRemoteAddress()Returns the remote address where this channel is connected to.booleanisBound()Returnstrueif and only if this channel is bound to a local address.booleanisConnected()Returnstrueif and only if this channel is connected to a remote address.booleanisWritable()Returnstrueif and only if the I/O thread will perform the requested write operation immediately.protected booleansetClosed()Marks this channel as closed.(package private) voidsetInterestOpsReal(int interestOps, ChannelFuture future)(package private) voidunbindReal(ChannelFuture future)ChannelFuturewrite(java.lang.Object message, java.net.SocketAddress remoteAddress)Sends a message to this channel asynchronously.private ChannelFuturewriteLastChunk()(package private) voidwriteReal(ChannelBuffer a, ChannelFuture future)-
Methods inherited from class org.jboss.netty.channel.AbstractChannel
bind, close, compareTo, connect, disconnect, equals, getAttachment, getCloseFuture, getFactory, getId, getInternalInterestOps, getParent, getPipeline, getSucceededFuture, getUnsupportedOperationFuture, getUserDefinedWritability, hashCode, isOpen, isReadable, setAttachment, setInterestOps, setInternalInterestOps, setReadable, setUnwritable, setUserDefinedWritability, setWritable, toString, unbind, write
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.jboss.netty.channel.Channel
bind, close, connect, disconnect, getAttachment, getCloseFuture, getFactory, getId, getParent, getPipeline, getUserDefinedWritability, isOpen, isReadable, setAttachment, setInterestOps, setReadable, setUserDefinedWritability, unbind, write
-
-
-
-
Field Detail
-
config
final HttpTunnelingSocketChannelConfig config
-
requestHeaderWritten
volatile boolean requestHeaderWritten
-
interestOpsLock
final java.lang.Object interestOpsLock
-
realChannel
final SocketChannel realChannel
-
handler
private final HttpTunnelingClientSocketChannel.ServletChannelHandler handler
-
-
Constructor Detail
-
HttpTunnelingClientSocketChannel
HttpTunnelingClientSocketChannel(ChannelFactory factory, ChannelPipeline pipeline, ChannelSink sink, ClientSocketChannelFactory clientSocketChannelFactory)
-
-
Method Detail
-
getConfig
public HttpTunnelingSocketChannelConfig getConfig()
Description copied from interface:ChannelReturns the configuration of this channel.- Specified by:
getConfigin interfaceChannel- Specified by:
getConfigin interfaceSocketChannel
-
getLocalAddress
public java.net.InetSocketAddress getLocalAddress()
Description copied from interface:ChannelReturns the local address where this channel is bound to. The returnedSocketAddressis supposed to be down-cast into more concrete type such asInetSocketAddressto retrieve the detailed information.- Specified by:
getLocalAddressin interfaceChannel- Specified by:
getLocalAddressin interfaceSocketChannel- Returns:
- the local address of this channel.
nullif this channel is not bound.
-
getRemoteAddress
public java.net.InetSocketAddress getRemoteAddress()
Description copied from interface:ChannelReturns the remote address where this channel is connected to. The returnedSocketAddressis supposed to be down-cast into more concrete type such asInetSocketAddressto retrieve the detailed information.- Specified by:
getRemoteAddressin interfaceChannel- Specified by:
getRemoteAddressin interfaceSocketChannel- Returns:
- the remote address of this channel.
nullif this channel is not connected. If this channel is not connected but it can receive messages from arbitrary remote addresses (e.g.DatagramChannel, useMessageEvent.getRemoteAddress()to determine the origination of the received message as this method will returnnull.
-
isBound
public boolean isBound()
Description copied from interface:ChannelReturnstrueif and only if this channel is bound to a local address.
-
isConnected
public boolean isConnected()
Description copied from interface:ChannelReturnstrueif and only if this channel is connected to a remote address.- Specified by:
isConnectedin interfaceChannel
-
getInterestOps
public int getInterestOps()
Description copied from interface:ChannelReturns the currentinterestOpsof this channel.- Specified by:
getInterestOpsin interfaceChannel- Overrides:
getInterestOpsin classAbstractChannel- Returns:
Channel.OP_NONE,Channel.OP_READ,Channel.OP_WRITE, orChannel.OP_READ_WRITE
-
isWritable
public boolean isWritable()
Description copied from interface:ChannelReturnstrueif and only if the I/O thread will perform the requested write operation immediately. Any write requests made when this method returnsfalseare queued until the I/O thread is ready to process the queued write requests. This method is a shortcut to the following code:return (getInterestOps() & OP_WRITE) == 0;
- Specified by:
isWritablein interfaceChannel- Overrides:
isWritablein classAbstractChannel
-
setClosed
protected boolean setClosed()
Description copied from class:AbstractChannelMarks this channel as closed. This method is intended to be called by an internal component - please do not call it unless you know what you are doing.- Overrides:
setClosedin classAbstractChannel- Returns:
trueif and only if this channel was not marked as closed yet
-
write
public ChannelFuture write(java.lang.Object message, java.net.SocketAddress remoteAddress)
Description copied from interface:ChannelSends a message to this channel asynchronously. It has an additional parameter that allows a user to specify where to send the specified message instead of this channel's current remote address. If this channel was created by a connectionless transport (e.g.DatagramChannel) and is not connected yet, you must specify non-null address. Otherwise, the write request will fail withNotYetConnectedExceptionand an'exceptionCaught'event will be triggered.- Specified by:
writein interfaceChannel- Overrides:
writein classAbstractChannel- Parameters:
message- the message to writeremoteAddress- where to send the specified message. This method is identical toChannel.write(Object)ifnullis specified here.- Returns:
- the
ChannelFuturewhich will be notified when the write request succeeds or fails
-
bindReal
void bindReal(java.net.SocketAddress localAddress, ChannelFuture future)
-
connectReal
void connectReal(java.net.SocketAddress remoteAddress, ChannelFuture future)
-
writeReal
void writeReal(ChannelBuffer a, ChannelFuture future)
-
writeLastChunk
private ChannelFuture writeLastChunk()
-
setInterestOpsReal
void setInterestOpsReal(int interestOps, ChannelFuture future)
-
disconnectReal
void disconnectReal(ChannelFuture future)
-
unbindReal
void unbindReal(ChannelFuture future)
-
closeReal
void closeReal(ChannelFuture future)
-
-