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


Java FutureResult类代码示例

本文整理汇总了Java中org.xnio.FutureResult的典型用法代码示例。如果您正苦于以下问题:Java FutureResult类的具体用法?Java FutureResult怎么用?Java FutureResult使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


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

示例1: getChannel

import org.xnio.FutureResult; //导入依赖的package包/类
private static Channel getChannel ( ConnectionProviderContextImpl context, ConnectionHandler ch, OptionMap options ) throws IOException {
    Channel c;
    FutureResult<Channel> chResult = new FutureResult<Channel>(context.getExecutor());
    ch.open("jmx", chResult, options);

    IoFuture<Channel> cFuture = chResult.getIoFuture();
    Status s2 = cFuture.await();
    if ( s2 == Status.FAILED ) {
        System.err.println("Cannot connect");
        if ( cFuture.getException() != null ) {
            throw new IOException("Connect failed", cFuture.getException());
        }
    }
    else if ( s2 != Status.DONE ) {
        cFuture.cancel();
        throw new IOException("Connect timeout");
    }

    c = cFuture.get();
    return c;
}
 
开发者ID:hucheat,项目名称:APacheSynapseSimplePOC,代码行数:22,代码来源:JBoss.java

示例2: readRequestData

import org.xnio.FutureResult; //导入依赖的package包/类
@Override
public IoFuture<byte[]> readRequestData() {
    final ByteArrayOutputStream data = new ByteArrayOutputStream();
    try {
        final ServletInputStream in = request.getInputStream();
        byte[] buf = new byte[1024];
        int r;
        while ((r = in.read(buf)) != -1) {
            data.write(buf, 0, r);
        }
        return new FinishedIoFuture<>(data.toByteArray());
    } catch (IOException e) {
        final FutureResult<byte[]> ioFuture = new FutureResult<>();
        ioFuture.setException(e);
        return ioFuture.getIoFuture();
    }
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:18,代码来源:ServletWebSocketHttpExchange.java

示例3: connect

import org.xnio.FutureResult; //导入依赖的package包/类
public IoFuture<ClientConnection> connect(InetSocketAddress bindAddress, final URI uri, final XnioWorker worker, XnioSsl ssl, Pool<ByteBuffer> bufferPool, OptionMap options) {
    ClientProvider provider = getClientProvider(uri);
    final FutureResult<ClientConnection> result = new FutureResult<>();
    provider.connect(new ClientCallback<ClientConnection>() {
        @Override
        public void completed(ClientConnection r) {
            result.setResult(r);
        }

        @Override
        public void failed(IOException e) {
            result.setException(e);
        }
    }, bindAddress, uri, worker, ssl, bufferPool, options);
    return result.getIoFuture();
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:17,代码来源:UndertowClient.java

示例4: readRequestData

import org.xnio.FutureResult; //导入依赖的package包/类
@Override
public IoFuture<byte[]> readRequestData() {
    final ByteArrayOutputStream data = new ByteArrayOutputStream();
    try {
        byte[] buf = new byte[1024];
        int r;
        while ((r = in.read(buf)) != -1) {
            data.write(buf, 0, r);
        }
        return new FinishedIoFuture<>(data.toByteArray());
    } catch (IOException e) {
        final FutureResult<byte[]> ioFuture = new FutureResult<>();
        ioFuture.setException(e);
        return ioFuture.getIoFuture();
    }
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:17,代码来源:BlockingWebSocketHttpServerExchange.java

示例5: sendData

import org.xnio.FutureResult; //导入依赖的package包/类
@Override
public IoFuture<Void> sendData(final ByteBuffer data) {
    try {
        final ServletOutputStream outputStream = response.getOutputStream();
        while (data.hasRemaining()) {
            outputStream.write(data.get());
        }
        return new FinishedIoFuture<>(null);
    } catch (IOException e) {
        final FutureResult<Void> ioFuture = new FutureResult<>();
        ioFuture.setException(e);
        return ioFuture.getIoFuture();
    }
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:15,代码来源:ServletWebSocketHttpExchange.java

示例6: sendData

import org.xnio.FutureResult; //导入依赖的package包/类
@Override
public IoFuture<Void> sendData(final ByteBuffer data) {
    try {
        while (data.hasRemaining()) {
            out.write(data.get());
        }
        return new FinishedIoFuture<>(null);
    } catch (IOException e) {
        final FutureResult<Void> ioFuture = new FutureResult<>();
        ioFuture.setException(e);
        return ioFuture.getIoFuture();
    }
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:14,代码来源:BlockingWebSocketHttpServerExchange.java

示例7: getConnection

import org.xnio.FutureResult; //导入依赖的package包/类
private static ConnectionHandlerFactory getConnection ( SocketAddress destination, final String username, final String password,
        ConnectionProviderContextImpl context, ConnectionProvider instance, OptionMap options )
                throws IOException, InterruptedException, KeyManagementException, NoSuchProviderException, NoSuchAlgorithmException {
    XnioSsl xnioSsl = new JsseXnioSsl(context.getXnio(), options);
    FutureResult<ConnectionHandlerFactory> result = new FutureResult<ConnectionHandlerFactory>();
    instance.connect(null, destination, options, result, new CallbackHandler() {

        public void handle ( Callback[] callbacks ) throws IOException, UnsupportedCallbackException {

            for ( Callback cb : callbacks ) {

                if ( cb instanceof NameCallback ) {
                    ( (NameCallback) cb ).setName(username);
                }
                else if ( cb instanceof PasswordCallback ) {
                    ( (PasswordCallback) cb ).setPassword(password != null ? password.toCharArray() : new char[0]);
                }
                else if ( !( cb instanceof RealmCallback) ) {
                    System.err.println(cb);
                    throw new UnsupportedCallbackException(cb);
                }
            }
        }
    }, xnioSsl);

    System.err.println("waiting for connection");
    IoFuture<ConnectionHandlerFactory> ioFuture = result.getIoFuture();
    Status s = ioFuture.await(5, TimeUnit.SECONDS);
    if ( s == Status.FAILED ) {
        System.err.println("Cannot connect");
        if ( ioFuture.getException() != null ) {
            ioFuture.getException().printStackTrace(System.err);
        }
    }
    else if ( s != Status.DONE ) {
        ioFuture.cancel();
        System.err.println("Connect timeout");
        System.exit(-1);
    }

    ConnectionHandlerFactory chf = ioFuture.getInterruptibly();
    return chf;
}
 
开发者ID:hucheat,项目名称:APacheSynapseSimplePOC,代码行数:44,代码来源:JBoss.java


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