Top Description Inners Fields Constructors Methods
io.vertx.core.net.impl

public Class NetSocketImpl

extends ConnectionBase
implements NetSocketInternal
Class Inheritance
All Implemented Interfaces
io.vertx.core.net.impl.NetSocketInternal, io.vertx.core.net.NetSocket, io.vertx.core.streams.WriteStream, io.vertx.core.streams.StreamBase, io.vertx.core.streams.ReadStream
Imports
io.netty.buffer.ByteBuf, .Unpooled, io.netty.channel.ChannelFuture, .ChannelHandler, .ChannelHandlerContext, .ChannelPromise, io.netty.util.CharsetUtil, .ReferenceCounted, io.vertx.core.AsyncResult, .Future, .Handler, .Promise, io.vertx.core.buffer.Buffer, io.vertx.core.eventbus.Message, .MessageConsumer, io.vertx.core.http.impl.HttpUtils, io.vertx.core.impl.ContextInternal, io.vertx.core.impl.future.PromiseInternal, io.vertx.core.impl.logging.Logger, .LoggerFactory, io.vertx.core.net.NetSocket, .SocketAddress, io.vertx.core.spi.metrics.TCPMetrics, io.vertx.core.streams.impl.InboundBuffer, java.io.File, .IOException, .RandomAccessFile, java.nio.charset.Charset, java.util.UUID

This class is optimised for performance when used on the same event loop that is was passed to the handler with. However it can be used safely from other threads. The internal state is protected using the synchronized keyword. If always used on the same event loop, then we benefit from biased locking which makes the overhead of synchronized near zero.
Author
Tim Fox

Nested and Inner Type Summary

Modifier and TypeClass and Description
private class

Field Summary

Modifier and TypeField and Description
private Handler<Void>
private Handler<Void>
private Handler<Object>
private Handler<Buffer>
private final String
private static final Logger
private Handler<Object>
private final TCPMetrics<S>
private final String
private final InboundBuffer<Object>
private MessageConsumer<T>
private final SocketAddress
private final SslChannelProvider
private final String
Inherited from io.vertx.core.net.impl.ConnectionBase:
chctxCLOSED_EXCEPTIONcontextLOCAL_ADDRESS_OVERRIDEREMOTE_ADDRESS_OVERRIDEvertxvoidPromise

Constructor Summary

AccessConstructor and Description
public
NetSocketImpl(ContextInternal context, ChannelHandlerContext channel, SslChannelProvider sslChannelProvider, TCPMetrics<S> metrics, boolean registerWriteHandler)

public
NetSocketImpl(ContextInternal context, ChannelHandlerContext channel, SocketAddress remoteAddress, SslChannelProvider sslChannelProvider, TCPMetrics<S> metrics, String hostnameVerificationAlgorithm, String negotiatedApplicationLayerProtocol, boolean registerWriteHandler)

Method Summary

Modifier and TypeMethod and Description
public String
private synchronized void
public NetSocketImpl
public synchronized NetSocket
public void
public Future<Void>
private synchronized Handler<Void>
public synchronized NetSocket
endHandler(Handler<Void> endHandler)

Implements io.vertx.core.net.NetSocket.endHandler.

This handler might be called after the close handler when the socket is paused and there are still buffers to deliver.

public synchronized NetSocketInternal
eventHandler(Handler<Object>
the handler to set
handler
)

Implements io.vertx.core.net.impl.NetSocketInternal.eventHandler.

Set an handler to process pipeline user events.

public NetSocketImpl
public NetSocket
fetch(long amount)

Implements io.vertx.core.net.NetSocket.fetch.

Fetch the specified amount of elements.

protected void
protected void
protected void
public void
private synchronized Handler<Buffer>
public synchronized NetSocket
private synchronized Handler<Object>
public synchronized NetSocketInternal
messageHandler(Handler<Object>
the handler to set
handler
)

Implements io.vertx.core.net.impl.NetSocketInternal.messageHandler.

Set a handler on this socket to process the messages produced by this socket.

public TCPMetrics<S>
public synchronized NetSocket
pause()

Implements io.vertx.core.net.NetSocket.pause.

Pause the ReadStream, it sets the buffer in fetch mode and clears the actual demand.

pack-priv void
public synchronized NetSocket
resume()

Implements io.vertx.core.net.NetSocket.resume.

Resume reading, and sets the buffer in flowing mode.

public Future<Void>
sendFile(String
file name of the file to send
filename
,
long
offset
offset
,
long
length
length
)

Implements io.vertx.core.net.NetSocket.sendFile.

Tell the operating system to stream a file as specified by filename directly from disk to the outgoing connection, bypassing userspace altogether (where supported by the underlying operating system.

public NetSocket
sendFile(String
file name of the file to send
filename
,
long
offset
offset
,
long
length
length
,
final Handler<AsyncResult<Void>>
handler
resultHandler
)

Implements io.vertx.core.net.NetSocket.sendFile.

Same as sendFile(String, long, long) but also takes a handler that will be called when the send has completed or a failure has occurred

public NetSocket
setWriteQueueMaxSize(int
the max size of the write stream
maxSize
)

Implements io.vertx.core.net.NetSocket.setWriteQueueMaxSize.

Set the maximum size of the write queue to maxSize.

pack-priv void
public Future<Void>
upgradeToSsl()

Implements io.vertx.core.net.NetSocket.upgradeToSsl.

Like upgradeToSsl(Handler) but returns a Future of the asynchronous result

public Future<Void>
upgradeToSsl(String serverName)

Implements io.vertx.core.net.NetSocket.upgradeToSsl.

Like upgradeToSsl(String, Handler) but returns a Future of the asynchronous result

public NetSocket
upgradeToSsl(Handler<AsyncResult<Void>>
the handler will be notified when it's upgraded
handler
)

Implements io.vertx.core.net.NetSocket.upgradeToSsl.

Upgrade channel to use SSL/TLS.

public NetSocket
upgradeToSsl(String
the server name
serverName
,
Handler<AsyncResult<Void>>
the handler will be notified when it's upgraded
handler
)

Implements io.vertx.core.net.NetSocket.upgradeToSsl.

Upgrade channel to use SSL/TLS.

public Future<Void>
write(Buffer
the data to write
data
)

Implements io.vertx.core.streams.WriteStream.write.

References Deprecated Buffer is deprecated or references (maybe indirectly) at least one deprecated element.

Write some data to the stream.

public void
write(String str, Handler<AsyncResult<Void>> handler)

Implements io.vertx.core.net.NetSocket.write.

Same as write(String) but with an handler called when the operation completes

public Future<Void>
write(String
the string to write
str
)

Implements io.vertx.core.net.NetSocket.write.

Write a String to the connection, encoded in UTF-8.

public Future<Void>
write(String
the string to write
str
,
String
the encoding to use
enc
)

Implements io.vertx.core.net.NetSocket.write.

Write a String to the connection, encoded using the encoding enc.

public void
write(String str, String enc, Handler<AsyncResult<Void>> handler)

Implements io.vertx.core.net.NetSocket.write.

Same as write(String, String) but with an handler called when the operation completes

public void
write(Buffer message, Handler<AsyncResult<Void>> handler)

Implements io.vertx.core.net.NetSocket.write.

References Deprecated Buffer is deprecated or references (maybe indirectly) at least one deprecated element.

Like write(Object) but with an handler called when the message has been written or failed to be written.

private void
write(ByteBuf buff, Handler<AsyncResult<Void>> handler)

Implements io.vertx.core.streams.WriteStream.write.

Same as write(T) but with an handler called when the operation completes

public String
writeHandlerID()

Implements io.vertx.core.net.NetSocket.writeHandlerID.

When a NetSocket is created, it may register an event handler with the event bus, the ID of that handler is given by writeHandlerID.

public synchronized Future<Void>
writeMessage(Object
the message to write, it should be handled by one of the channel pipeline handlers
message
)

Implements io.vertx.core.net.impl.NetSocketInternal.writeMessage.

Write a message in the channel pipeline.

public NetSocketInternal
writeMessage(Object message, Handler<AsyncResult<Void>> handler)

Implements io.vertx.core.net.impl.NetSocketInternal.writeMessage.

Like writeMessage(Object) but with an handler called when the message has been written or failed to be written.

public boolean
writeQueueFull()

Implements io.vertx.core.streams.WriteStream.writeQueueFull.

This will return true if there are more bytes in the write queue than the value set using setWriteQueueMaxSize

Inherited from io.vertx.core.net.impl.ConnectionBase:
channelchannelFuturechannelHandlerContextclosecloseclosecloseFuturedoPausedoResumedoSetWriteQueueMaxSizeendReadAndFlushexceptionHandlerfailflushflushflushBytesReadflushBytesWrittengetContexthandleExceptionhandleIdleindicatedServerNameisNotWritableisSslisTrafficShapedlocalAddresslocalAddressmetricmetricpeerCertificateChainpeerCertificatesreadremoteAddressremoteAddressremoteNamereportBytesReadreportBytesReadreportBytesWrittenreportsBytesWrittensendFilesizeofsslSessionsupportsFileRegionwriteToChannelwriteToChannelwriteToChannelwriteToChannel

Field Detail

drainHandlerback to summary
private Handler<Void> drainHandler
endHandlerback to summary
private Handler<Void> endHandler
eventHandlerback to summary
private Handler<Object> eventHandler
handlerback to summary
private Handler<Buffer> handler
hostnameVerificationAlgorithmback to summary
private final String hostnameVerificationAlgorithm
logback to summary
private static final Logger log

Hides io.vertx.core.net.impl.ConnectionBase.log.

messageHandlerback to summary
private Handler<Object> messageHandler
metricsback to summary
private final TCPMetrics<S> metrics
negotiatedApplicationLayerProtocolback to summary
private final String negotiatedApplicationLayerProtocol
pendingback to summary
private final InboundBuffer<Object> pending
registrationback to summary
private MessageConsumer<T> registration
remoteAddressback to summary
private final SocketAddress remoteAddress

Hides io.vertx.core.net.impl.ConnectionBase.remoteAddress.

sslChannelProviderback to summary
private final SslChannelProvider sslChannelProvider
writeHandlerIDback to summary
private final String writeHandlerID

Constructor Detail

NetSocketImplback to summary
public NetSocketImpl(ContextInternal context, ChannelHandlerContext channel, SslChannelProvider sslChannelProvider, TCPMetrics<S> metrics, boolean registerWriteHandler)
NetSocketImplback to summary
public NetSocketImpl(ContextInternal context, ChannelHandlerContext channel, SocketAddress remoteAddress, SslChannelProvider sslChannelProvider, TCPMetrics<S> metrics, String hostnameVerificationAlgorithm, String negotiatedApplicationLayerProtocol, boolean registerWriteHandler)

Method Detail

applicationLayerProtocolback to summary
public String applicationLayerProtocol()

Implements io.vertx.core.net.NetSocket.applicationLayerProtocol.

Returns:String

Doc from io.vertx.core.net.NetSocket.applicationLayerProtocol.

the application-level protocol negotiated during the TLS handshake

Annotations
@Override
callDrainHandlerback to summary
private synchronized void callDrainHandler()
closeHandlerback to summary
public NetSocketImpl closeHandler(Handler<Void> handler)

Overrides io.vertx.core.net.impl.ConnectionBase.closeHandler.

Annotations
@Override
drainHandlerback to summary
public synchronized NetSocket drainHandler(Handler<Void> drainHandler)

Implements io.vertx.core.net.NetSocket.drainHandler.

Annotations
@Override
endback to summary
public void end(Handler<AsyncResult<Void>> handler)

Implements io.vertx.core.net.NetSocket.end.

Doc from io.vertx.core.net.NetSocket.end.

Calls end().

Annotations
@Override
endback to summary
public Future<Void> end()

Implements io.vertx.core.net.NetSocket.end.

Doc from io.vertx.core.net.NetSocket.end.

Calls close()

Returns:Future<Void>

a future completed with the result

Annotations
@Override
endHandlerback to summary
private synchronized Handler<Void> endHandler()
endHandlerback to summary
public synchronized NetSocket endHandler(Handler<Void> endHandler)

Implements io.vertx.core.net.NetSocket.endHandler.

Doc from io.vertx.core.net.NetSocket.endHandler.

This handler might be called after the close handler when the socket is paused and there are still buffers to deliver.

Annotations
@Override
eventHandlerback to summary
public synchronized NetSocketInternal eventHandler(Handler<Object> handler)

Implements io.vertx.core.net.impl.NetSocketInternal.eventHandler.

Doc from io.vertx.core.net.impl.NetSocketInternal.eventHandler.

Set an handler to process pipeline user events. The handler should take care of releasing event, e.g calling ReferenceCountUtil.release(evt).

Parameters
handler:Handler<Object>

the handler to set

Returns:NetSocketInternal

a reference to this, so the API can be used fluently

Annotations
@Override
exceptionHandlerback to summary
public NetSocketImpl exceptionHandler(Handler<Throwable> handler)

Overrides io.vertx.core.net.impl.ConnectionBase.exceptionHandler.

Implements io.vertx.core.net.NetSocket.exceptionHandler.

fetchback to summary
public NetSocket fetch(long amount)

Implements io.vertx.core.net.NetSocket.fetch.

Doc from io.vertx.core.streams.ReadStream.fetch.

Fetch the specified amount of elements. If the ReadStream has been paused, reading will recommence with the specified amount of items, otherwise the specified amount will be added to the current stream demand.

Returns:NetSocket

a reference to this, so the API can be used fluently

Annotations
@Override
handleClosedback to summary
protected void handleClosed()

Overrides io.vertx.core.net.impl.ConnectionBase.handleClosed.

Annotations
@Override
handleEventback to summary
protected void handleEvent(Object evt)

Overrides io.vertx.core.net.impl.ConnectionBase.handleEvent.

Annotations
@Override
handleInterestedOpsChangedback to summary
protected void handleInterestedOpsChanged()

Implements abstract io.vertx.core.net.impl.ConnectionBase.handleInterestedOpsChanged.

Annotations
@Override
handleMessageback to summary
public void handleMessage(Object msg)

Overrides io.vertx.core.net.impl.ConnectionBase.handleMessage.

Annotations
@Override
handlerback to summary
private synchronized Handler<Buffer> handler()
handlerback to summary
public synchronized NetSocket handler(Handler<Buffer> dataHandler)

Implements io.vertx.core.net.NetSocket.handler.

Annotations
@Override
messageHandlerback to summary
private synchronized Handler<Object> messageHandler()
messageHandlerback to summary
public synchronized NetSocketInternal messageHandler(Handler<Object> handler)

Implements io.vertx.core.net.impl.NetSocketInternal.messageHandler.

Doc from io.vertx.core.net.impl.NetSocketInternal.messageHandler.

Set a handler on this socket to process the messages produced by this socket. The message can be io.netty.buffer.ByteBuf or other messages produced by channel pipeline handlers.

The handler should take care of releasing pooled / direct messages.

The handler replaces any handler(Handler) previously set.

Parameters
handler:Handler<Object>

the handler to set

Returns:NetSocketInternal

a reference to this, so the API can be used fluently

Annotations
@Override
metricsback to summary
public TCPMetrics<S> metrics()

Implements abstract io.vertx.core.net.impl.ConnectionBase.metrics.

Annotations
@Override
pauseback to summary
public synchronized NetSocket pause()

Implements io.vertx.core.net.NetSocket.pause.

Doc from io.vertx.core.streams.ReadStream.pause.

Pause the ReadStream, it sets the buffer in fetch mode and clears the actual demand.

While it's paused, no data will be sent to the data handler.

Returns:NetSocket

a reference to this, so the API can be used fluently

Annotations
@Override
registerEventBusHandlerback to summary
pack-priv void registerEventBusHandler()
resumeback to summary
public synchronized NetSocket resume()

Implements io.vertx.core.net.NetSocket.resume.

Doc from io.vertx.core.streams.ReadStream.resume.

Resume reading, and sets the buffer in flowing mode.

If the ReadStream has been paused, reading will recommence on it.

Returns:NetSocket

a reference to this, so the API can be used fluently

Annotations
@Override
sendFileback to summary
public Future<Void> sendFile(String filename, long offset, long length)

Implements io.vertx.core.net.NetSocket.sendFile.

Doc from io.vertx.core.net.NetSocket.sendFile.

Tell the operating system to stream a file as specified by filename directly from disk to the outgoing connection, bypassing userspace altogether (where supported by the underlying operating system. This is a very efficient way to stream files.

Parameters
filename:String

file name of the file to send

offset:long

offset

length:long

length

Returns:Future<Void>

a future result of the send operation

Annotations
@Override
sendFileback to summary
public NetSocket sendFile(String filename, long offset, long length, final Handler<AsyncResult<Void>> resultHandler)

Implements io.vertx.core.net.NetSocket.sendFile.

Doc from io.vertx.core.net.NetSocket.sendFile.

Same as sendFile(String, long, long) but also takes a handler that will be called when the send has completed or a failure has occurred

Parameters
filename:String

file name of the file to send

offset:long

offset

length:long

length

resultHandler:Handler<AsyncResult<Void>>

handler

Returns:NetSocket

a reference to this, so the API can be used fluently

Annotations
@Override
setWriteQueueMaxSizeback to summary
public NetSocket setWriteQueueMaxSize(int maxSize)

Implements io.vertx.core.net.NetSocket.setWriteQueueMaxSize.

Doc from io.vertx.core.streams.WriteStream.setWriteQueueMaxSize.

Set the maximum size of the write queue to maxSize. You will still be able to write to the stream even if there is more than maxSize items in the write queue. This is used as an indicator by classes such as Pipe to provide flow control.

The value is defined by the implementation of the stream, e.g in bytes for a io.vertx.core.net.NetSocket, etc...

Parameters
maxSize:int

the max size of the write stream

Returns:NetSocket

a reference to this, so the API can be used fluently

Annotations
@Override
unregisterEventBusHandlerback to summary
pack-priv void unregisterEventBusHandler()
upgradeToSslback to summary
public Future<Void> upgradeToSsl()

Implements io.vertx.core.net.NetSocket.upgradeToSsl.

Doc from io.vertx.core.net.NetSocket.upgradeToSsl.

Like upgradeToSsl(Handler) but returns a Future of the asynchronous result

Annotations
@Override
upgradeToSslback to summary
public Future<Void> upgradeToSsl(String serverName)

Implements io.vertx.core.net.NetSocket.upgradeToSsl.

Doc from io.vertx.core.net.NetSocket.upgradeToSsl.

Like upgradeToSsl(String, Handler) but returns a Future of the asynchronous result

Annotations
@Override
upgradeToSslback to summary
public NetSocket upgradeToSsl(Handler<AsyncResult<Void>> handler)

Implements io.vertx.core.net.NetSocket.upgradeToSsl.

Doc from io.vertx.core.net.NetSocket.upgradeToSsl.

Upgrade channel to use SSL/TLS. Be aware that for this to work SSL must be configured.

Parameters
handler:Handler<AsyncResult<Void>>

the handler will be notified when it's upgraded

Returns:NetSocket

a reference to this, so the API can be used fluently

Annotations
@Override
upgradeToSslback to summary
public NetSocket upgradeToSsl(String serverName, Handler<AsyncResult<Void>> handler)

Implements io.vertx.core.net.NetSocket.upgradeToSsl.

Doc from io.vertx.core.net.NetSocket.upgradeToSsl.

Upgrade channel to use SSL/TLS. Be aware that for this to work SSL must be configured.

Parameters
serverName:String

the server name

handler:Handler<AsyncResult<Void>>

the handler will be notified when it's upgraded

Returns:NetSocket

a reference to this, so the API can be used fluently

Annotations
@Override
writeback to summary
public Future<Void> write(Buffer data)

Implements io.vertx.core.streams.WriteStream.write.

Doc from io.vertx.core.streams.WriteStream.write.

References Deprecated

Buffer is deprecated or references (maybe indirectly) at least one deprecated element.

See corresponding docs for further information.

Write some data to the stream.

The data is usually put on an internal write queue, and the write actually happens asynchronously. To avoid running out of memory by putting too much on the write queue, check the writeQueueFull method before writing. This is done automatically if using a Pipe.

When the data is moved from the queue to the actual medium, the returned Future will be completed with the write result, e.g the future is succeeded when a server HTTP response buffer is written to the socket and failed if the remote client has closed the socket while the data was still pending for write.

Parameters
data:Buffer

the data to write

Returns:Future<Void>

a future completed with the write result

Annotations
@Override
writeback to summary
public void write(String str, Handler<AsyncResult<Void>> handler)

Implements io.vertx.core.net.NetSocket.write.

Doc from io.vertx.core.net.NetSocket.write.

Same as write(String) but with an handler called when the operation completes

Annotations
@Override
writeback to summary
public Future<Void> write(String str)

Implements io.vertx.core.net.NetSocket.write.

Doc from io.vertx.core.net.NetSocket.write.

Write a String to the connection, encoded in UTF-8.

Parameters
str:String

the string to write

Returns:Future<Void>

a future result of the write

Annotations
@Override
writeback to summary
public Future<Void> write(String str, String enc)

Implements io.vertx.core.net.NetSocket.write.

Doc from io.vertx.core.net.NetSocket.write.

Write a String to the connection, encoded using the encoding enc.

Parameters
str:String

the string to write

enc:String

the encoding to use

Returns:Future<Void>

a future completed with the result

Annotations
@Override
writeback to summary
public void write(String str, String enc, Handler<AsyncResult<Void>> handler)

Implements io.vertx.core.net.NetSocket.write.

Doc from io.vertx.core.net.NetSocket.write.

Same as write(String, String) but with an handler called when the operation completes

Annotations
@Override
writeback to summary
public void write(Buffer message, Handler<AsyncResult<Void>> handler)

Implements io.vertx.core.net.NetSocket.write.

Doc from io.vertx.core.net.NetSocket.write.

References Deprecated

Buffer is deprecated or references (maybe indirectly) at least one deprecated element.

See corresponding docs for further information.

Like write(Object) but with an handler called when the message has been written or failed to be written.

Annotations
@Override
writeback to summary
private void write(ByteBuf buff, Handler<AsyncResult<Void>> handler)

Implements io.vertx.core.streams.WriteStream.write.

Doc from io.vertx.core.streams.WriteStream.write.

Same as write(T) but with an handler called when the operation completes

writeHandlerIDback to summary
public String writeHandlerID()

Implements io.vertx.core.net.NetSocket.writeHandlerID.

Doc from io.vertx.core.net.NetSocket.writeHandlerID.

When a NetSocket is created, it may register an event handler with the event bus, the ID of that handler is given by writeHandlerID.

By default, no handler is registered, the feature must be enabled via NetClientOptions#setRegisterWriteHandler(boolean) or NetServerOptions#setRegisterWriteHandler(boolean).

Given this ID, a different event loop can send a buffer to that event handler using the event bus and that buffer will be received by this instance in its own event loop and written to the underlying connection. This allows you to write data to other connections which are owned by different event loops.

Returns:String

the write handler ID

Annotations
@Override
writeMessageback to summary
public synchronized Future<Void> writeMessage(Object message)

Implements io.vertx.core.net.impl.NetSocketInternal.writeMessage.

Doc from io.vertx.core.net.impl.NetSocketInternal.writeMessage.

Write a message in the channel pipeline.

When a read operation is in progress, the flush operation is delayed until the read operation completes.

Parameters
message:Object

the message to write, it should be handled by one of the channel pipeline handlers

Returns:Future<Void>

a future completed with the result

Annotations
@Override
writeMessageback to summary
public NetSocketInternal writeMessage(Object message, Handler<AsyncResult<Void>> handler)

Implements io.vertx.core.net.impl.NetSocketInternal.writeMessage.

Doc from io.vertx.core.net.impl.NetSocketInternal.writeMessage.

Like writeMessage(Object) but with an handler called when the message has been written or failed to be written.

Annotations
@Override
writeQueueFullback to summary
public boolean writeQueueFull()

Implements io.vertx.core.streams.WriteStream.writeQueueFull.

Doc from io.vertx.core.streams.WriteStream.writeQueueFull.

This will return true if there are more bytes in the write queue than the value set using setWriteQueueMaxSize

Returns:boolean

true if write queue is full

Annotations
@Override
io.vertx.core.net.impl back to summary

private Class NetSocketImpl.DataMessageHandler

extends Object
implements Handler<Object>
Class Inheritance
All Implemented Interfaces
io.vertx.core.Handler

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public void
handle(Object
the event to handle
msg
)

Implements io.vertx.core.Handler.handle.

Something has happened, so handle it.

private void
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Constructor Detail

DataMessageHandlerback to summary
private DataMessageHandler()

Method Detail

handleback to summary
public void handle(Object msg)

Implements io.vertx.core.Handler.handle.

Doc from io.vertx.core.Handler.handle.

Something has happened, so handle it.

Parameters
msg:Object

the event to handle

Annotations
@Override
handleInvalidback to summary
private void handleInvalid(Object msg)