IoSessionInfoWrapper session_info_wrapper = new IoSessionInfoWrapper( session,
session_map, outbound_session_map, vmid_remap, map_lock, connection_listener,
connection_type_description, local_vmid );
session.setAttribute( SESSION_INFO_KEY, session_info_wrapper );
IMessage message;
try {
message = message_handler.sessionOpened( session_info_wrapper,
session.getService() == connector,
( ConnectionArgs ) session.getAttribute( CONNECTION_ARGS_KEY ) );
}
catch ( CloseSessionIndicator close_indicator ) {
// If there's a message, write it first
if ( close_indicator.getReasonMessage() != null ) {
IMessage close_message = close_indicator.getReasonMessage();
session.write( close_message );
performance_listener.messageSent( session_info_wrapper.getVMID(),
close_message );
}