ConnectFuture future = connector.connect(
new InetSocketAddress( address, port ),
new VMIDSlotInitializer<ConnectFuture>( args, reconnect_token, container,
attachment, original_vmid ) );
if ( !future.await( timeout_ns, TimeUnit.NANOSECONDS ) ) {
future.cancel();
// TODO: better way to do this??
// HACK ALERT: In situations where the connection times out, there can be a
// file descriptor leak because MINA doesn't seem to close the
// handler (SocketChannel) when the ConnectFuture is canceled.