当前位置: 首页>>代码示例>>Java>>正文


Java IoFuture.getStatus方法代码示例

本文整理汇总了Java中org.xnio.IoFuture.getStatus方法的典型用法代码示例。如果您正苦于以下问题:Java IoFuture.getStatus方法的具体用法?Java IoFuture.getStatus怎么用?Java IoFuture.getStatus使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.xnio.IoFuture的用法示例。


在下文中一共展示了IoFuture.getStatus方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: connect

import org.xnio.IoFuture; //导入方法依赖的package包/类
@Override
public void connect(final ClientCallback<ClientConnection> listener, InetSocketAddress bindAddress, final URI uri, final XnioWorker worker, final XnioSsl ssl, final Pool<ByteBuffer> bufferPool, final OptionMap options) {
    ChannelListener<StreamConnection> openListener = new ChannelListener<StreamConnection>() {
        @Override
        public void handleEvent(StreamConnection connection) {
            handleConnected(connection, listener, uri, ssl, bufferPool, options);
        }
    };
    IoFuture.Notifier<StreamConnection, Object> notifier = new IoFuture.Notifier<StreamConnection, Object>() {
        @Override
        public void notify(IoFuture<? extends StreamConnection> ioFuture, Object o) {
            if (ioFuture.getStatus() == IoFuture.Status.FAILED) {
                listener.failed(ioFuture.getException());
            }
        }
    };
    if(bindAddress == null) {
        worker.openStreamConnection(new InetSocketAddress(uri.getHost(), uri.getPort() == -1 ? 8009 : uri.getPort()), openListener, options).addNotifier(notifier, null);
    } else {
        worker.openStreamConnection(bindAddress, new InetSocketAddress(uri.getHost(), uri.getPort() == -1 ? 8009 : uri.getPort()), openListener, null, options).addNotifier(notifier, null);
    }
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:23,代码来源:AjpClientProvider.java

示例2: openChannel

import org.xnio.IoFuture; //导入方法依赖的package包/类
Channel openChannel(final Connection connection) throws IOException {
    final IoFuture<Channel> future = connection.openChannel(DEFAULT_CHANNEL_SERVICE_TYPE, OptionMap.EMPTY);
    future.await(10L, TimeUnit.SECONDS);
    if (future.getStatus() == IoFuture.Status.WAITING) {
        future.cancel();
        throw ProtocolLogger.ROOT_LOGGER.channelTimedOut();
    }
    final Channel channel = future.get();
    channel.addCloseHandler(new CloseHandler<Channel>() {
        @Override
        public void handleClose(final Channel old, final IOException e) {
            synchronized (ChannelStrategy.this) {
                if(ChannelStrategy.this.channel == old) {
                    ChannelStrategy.this.handler.handleClose(old, e);
                    ChannelStrategy.this.channel = null;
                }
            }
            handler.handleChannelClosed(old, e);
        }
    });
    return channel;
}
 
开发者ID:wildfly,项目名称:wildfly-core,代码行数:23,代码来源:DomainTestConnection.java

示例3: createNotifier

import org.xnio.IoFuture; //导入方法依赖的package包/类
private IoFuture.Notifier<StreamConnection, Object> createNotifier(final ClientCallback<ClientConnection> listener) {
    return new IoFuture.Notifier<StreamConnection, Object>() {
        @Override
        public void notify(IoFuture<? extends StreamConnection> ioFuture, Object o) {
            if (ioFuture.getStatus() == IoFuture.Status.FAILED) {
                listener.failed(ioFuture.getException());
            }
        }
    };
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:11,代码来源:HttpClientProvider.java

示例4: openChannel

import org.xnio.IoFuture; //导入方法依赖的package包/类
/**
 * Open a channel.
 *
 * @param connection the connection
 * @param serviceType the service type
 * @param options the channel options
 * @param deadline time, in ms since the epoch, by which the channel must be created,
 *                 or {@code null} if the caller is not imposing a specific deadline.
 *                 Ignored if less than 10s from the current time, with 10s used as the
 *                 default if this is {@code null}
 * @return the opened channel
 * @throws IOException if there is a remoting problem opening the channel or it cannot be opened in a reasonable amount of time
 */
final Channel openChannel(final Connection connection, final String serviceType, final OptionMap options, final Long deadline) throws IOException {
    final IoFuture<Channel> futureChannel = connection.openChannel(serviceType, options);
    long waitTime = deadline == null ? 10000 : Math.max(10000, deadline - System.currentTimeMillis());
    futureChannel.await(waitTime, TimeUnit.MILLISECONDS);
    if (futureChannel.getStatus() == IoFuture.Status.WAITING) {
        futureChannel.cancel();
        throw ProtocolLogger.ROOT_LOGGER.channelTimedOut();
    }
    return futureChannel.get();
}
 
开发者ID:wildfly,项目名称:wildfly-core,代码行数:24,代码来源:FutureManagementChannel.java


注:本文中的org.xnio.IoFuture.getStatus方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。