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


Java AsyncMessageHeader.setTransactionId方法代码示例

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


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

示例1: getError

import org.sdnplatform.sync.thrift.AsyncMessageHeader; //导入方法依赖的package包/类
/**
 * Generate an error message from the provided transaction ID and
 * exception
 * @param transactionId the transaction Id
 * @param error the exception
 * @param type the type of the message that generated the error
 * @return the {@link SyncError} message
 */
protected SyncMessage getError(int transactionId, Exception error, 
                               MessageType type) {
    int ec = SyncException.ErrorType.GENERIC.getValue();
    if (error instanceof SyncException) {
        ec = ((SyncException)error).getErrorType().getValue();
    } else {
        logger.error("Unexpected error processing message " + transactionId
                     + "(" + type + ")", error);
    }
    SyncError m = new SyncError();
    m.setErrorCode(ec);
    m.setMessage(error.getMessage());
    ErrorMessage em = new ErrorMessage();
    em.setError(m);
    em.setType(type);
    AsyncMessageHeader header = new AsyncMessageHeader();
    header.setTransactionId(transactionId);
    em.setHeader(header);
    SyncMessage bsm = new SyncMessage(MessageType.ERROR);
    bsm.setError(em);
    return bsm;
}
 
开发者ID:xuraylei,项目名称:fresco_floodlight,代码行数:31,代码来源:AbstractRPCChannelHandler.java

示例2: handleHello

import org.sdnplatform.sync.thrift.AsyncMessageHeader; //导入方法依赖的package包/类
@Override
protected void handleHello(HelloMessage hello, Channel channel) {
    remoteNodeId = hello.getNodeId();
    
    org.sdnplatform.sync.thrift.Node n = 
            new org.sdnplatform.sync.thrift.Node();
    n.setHostname(bootstrap.localNode.getHostname());
    n.setPort(bootstrap.localNode.getPort());
    if (bootstrap.localNode.getNodeId() >= 0)
        n.setNodeId(bootstrap.localNode.getNodeId());
    if (bootstrap.localNode.getDomainId() >= 0)
        n.setDomainId(bootstrap.localNode.getDomainId());
    
    ClusterJoinRequestMessage cjrm = new ClusterJoinRequestMessage();
    AsyncMessageHeader header = new AsyncMessageHeader();
    header.setTransactionId(bootstrap.transactionId.getAndIncrement());
    cjrm.setHeader(header);
    cjrm.setNode(n);
    SyncMessage bsm = 
            new SyncMessage(MessageType.CLUSTER_JOIN_REQUEST);
    bsm.setClusterJoinRequest(cjrm);
    channel.writeAndFlush(bsm);
}
 
开发者ID:xuraylei,项目名称:fresco_floodlight,代码行数:24,代码来源:BootstrapChannelHandler.java

示例3: get

import org.sdnplatform.sync.thrift.AsyncMessageHeader; //导入方法依赖的package包/类
@Override
public List<Versioned<byte[]>> get(ByteArray key) throws SyncException {
    StoreUtils.assertValidKey(key);
    GetRequestMessage grm = new GetRequestMessage();

    AsyncMessageHeader header = new AsyncMessageHeader();
    header.setTransactionId(syncManager.getTransactionId());
    grm.setHeader(header);

    grm.setKey(key.get());
    grm.setStoreName(storeName);
    
    SyncMessage bsm = new SyncMessage(MessageType.GET_REQUEST);
    bsm.setGetRequest(grm);

    SyncReply reply = getReply(header.getTransactionId(), bsm);

    return reply.getValues();
}
 
开发者ID:xuraylei,项目名称:fresco_floodlight,代码行数:20,代码来源:RemoteStore.java

示例4: put

import org.sdnplatform.sync.thrift.AsyncMessageHeader; //导入方法依赖的package包/类
@Override
public void put(ByteArray key, Versioned<byte[]> value) 
        throws SyncException {
    StoreUtils.assertValidKey(key);
    PutRequestMessage prm = new PutRequestMessage();

    AsyncMessageHeader header = new AsyncMessageHeader();
    header.setTransactionId(syncManager.getTransactionId());
    prm.setHeader(header);
    prm.setVersionedValue(TProtocolUtil.getTVersionedValue(value));
    prm.setKey(key.get());
    prm.setStoreName(storeName);
    
    SyncMessage bsm = new SyncMessage(MessageType.PUT_REQUEST);
    bsm.setPutRequest(prm);
    
    getReply(header.getTransactionId(), bsm);
}
 
开发者ID:xuraylei,项目名称:fresco_floodlight,代码行数:19,代码来源:RemoteStore.java

示例5: handleHello

import org.sdnplatform.sync.thrift.AsyncMessageHeader; //导入方法依赖的package包/类
@Override
protected void handleHello(HelloMessage hello, Channel channel) {
    remoteNodeId = hello.getNodeId();
    
    org.sdnplatform.sync.thrift.Node n = 
            new org.sdnplatform.sync.thrift.Node();
    n.setHostname(bootstrap.localNode.getHostname());
    n.setPort(bootstrap.localNode.getPort());
    if (bootstrap.localNode.getNodeId() >= 0)
        n.setNodeId(bootstrap.localNode.getNodeId());
    if (bootstrap.localNode.getDomainId() >= 0)
        n.setDomainId(bootstrap.localNode.getDomainId());
    
    ClusterJoinRequestMessage cjrm = new ClusterJoinRequestMessage();
    AsyncMessageHeader header = new AsyncMessageHeader();
    header.setTransactionId(bootstrap.transactionId.getAndIncrement());
    cjrm.setHeader(header);
    cjrm.setNode(n);
    SyncMessage bsm = 
            new SyncMessage(MessageType.CLUSTER_JOIN_REQUEST);
    bsm.setClusterJoinRequest(cjrm);
    channel.write(bsm);
}
 
开发者ID:nsg-ethz,项目名称:iTAP-controller,代码行数:24,代码来源:BootstrapChannelHandler.java

示例6: put

import org.sdnplatform.sync.thrift.AsyncMessageHeader; //导入方法依赖的package包/类
@Override
public void put(ByteArray key, Versioned<byte[]> value)
        throws SyncException {
    StoreUtils.assertValidKey(key);
    PutRequestMessage prm = new PutRequestMessage();

    AsyncMessageHeader header = new AsyncMessageHeader();
    header.setTransactionId(syncManager.getTransactionId());
    prm.setHeader(header);
    prm.setVersionedValue(TProtocolUtil.getTVersionedValue(value));
    prm.setKey(key.get());
    prm.setStoreName(storeName);

    SyncMessage bsm = new SyncMessage(MessageType.PUT_REQUEST);
    bsm.setPutRequest(prm);

    getReply(header.getTransactionId(), bsm);
}
 
开发者ID:zhenshengcai,项目名称:floodlight-hardware,代码行数:19,代码来源:RemoteStore.java

示例7: getError

import org.sdnplatform.sync.thrift.AsyncMessageHeader; //导入方法依赖的package包/类
/**
 * Generate an error message from the provided transaction ID and
 * exception
 * @param transactionId the transaction Id
 * @param error the exception
 * @param type the type of the message that generated the error
 * @return the {@link SyncError} message
 */
protected SyncMessage getError(int transactionId, Exception error,
                               MessageType type) {
    int ec = SyncException.ErrorType.GENERIC.getValue();
    if (error instanceof SyncException) {
        ec = ((SyncException)error).getErrorType().getValue();
    } else {
        logger.error("Unexpected error processing message " + transactionId
                     + "(" + type + ")", error);
    }
    SyncError m = new SyncError();
    m.setErrorCode(ec);
    m.setMessage(error.getMessage());
    ErrorMessage em = new ErrorMessage();
    em.setError(m);
    em.setType(type);
    AsyncMessageHeader header = new AsyncMessageHeader();
    header.setTransactionId(transactionId);
    em.setHeader(header);
    SyncMessage bsm = new SyncMessage(MessageType.ERROR);
    bsm.setError(em);
    return bsm;
}
 
开发者ID:zhenshengcai,项目名称:floodlight-hardware,代码行数:31,代码来源:AbstractRPCChannelHandler.java

示例8: handleHello

import org.sdnplatform.sync.thrift.AsyncMessageHeader; //导入方法依赖的package包/类
@Override
protected void handleHello(HelloMessage hello, Channel channel) {
    remoteNodeId = hello.getNodeId();

    org.sdnplatform.sync.thrift.Node n =
            new org.sdnplatform.sync.thrift.Node();
    n.setHostname(bootstrap.localNode.getHostname());
    n.setPort(bootstrap.localNode.getPort());
    if (bootstrap.localNode.getNodeId() >= 0)
        n.setNodeId(bootstrap.localNode.getNodeId());
    if (bootstrap.localNode.getDomainId() >= 0)
        n.setDomainId(bootstrap.localNode.getDomainId());

    ClusterJoinRequestMessage cjrm = new ClusterJoinRequestMessage();
    AsyncMessageHeader header = new AsyncMessageHeader();
    header.setTransactionId(bootstrap.transactionId.getAndIncrement());
    cjrm.setHeader(header);
    cjrm.setNode(n);
    SyncMessage bsm =
            new SyncMessage(MessageType.CLUSTER_JOIN_REQUEST);
    bsm.setClusterJoinRequest(cjrm);
    channel.writeAndFlush(bsm);
}
 
开发者ID:zhenshengcai,项目名称:floodlight-hardware,代码行数:24,代码来源:BootstrapChannelHandler.java

示例9: channelActive

import org.sdnplatform.sync.thrift.AsyncMessageHeader; //导入方法依赖的package包/类
@Override
public void channelActive(ChannelHandlerContext ctx) throws Exception {
    channelState = ChannelState.CONNECTED;

    HelloMessage m = new HelloMessage();
    if (getLocalNodeId() != null)
        m.setNodeId(getLocalNodeId());
    AsyncMessageHeader header = new AsyncMessageHeader();
    header.setTransactionId(getTransactionId());
    m.setHeader(header);
    switch (getAuthScheme()) {
        case NO_AUTH:
            channelState = ChannelState.AUTHENTICATED;
            m.setAuthScheme(org.sdnplatform.sync.thrift.
                            AuthScheme.NO_AUTH);
            break;
        case CHALLENGE_RESPONSE:
            AuthChallengeResponse cr = new AuthChallengeResponse();
            cr.setChallenge(generateChallenge());
            m.setAuthScheme(org.sdnplatform.sync.thrift.
                            AuthScheme.CHALLENGE_RESPONSE);
            m.setAuthChallengeResponse(cr);
            break;
    }
    SyncMessage bsm = new SyncMessage(MessageType.HELLO);
    bsm.setHello(m);
    ctx.channel().writeAndFlush(bsm);
}
 
开发者ID:xuraylei,项目名称:fresco_floodlight,代码行数:29,代码来源:AbstractRPCChannelHandler.java

示例10: channelIdle

import org.sdnplatform.sync.thrift.AsyncMessageHeader; //导入方法依赖的package包/类
public void channelIdle(ChannelHandlerContext ctx, IdleStateEvent e) throws Exception {
    // send an echo request
    EchoRequestMessage m = new EchoRequestMessage();
    AsyncMessageHeader header = new AsyncMessageHeader();
    header.setTransactionId(getTransactionId());
    m.setHeader(header);
    SyncMessage bsm = new SyncMessage(MessageType.ECHO_REQUEST);
    bsm.setEchoRequest(m);
    ctx.channel().writeAndFlush(bsm);
}
 
开发者ID:xuraylei,项目名称:fresco_floodlight,代码行数:11,代码来源:AbstractRPCChannelHandler.java

示例11: handshakeChallengeResponse

import org.sdnplatform.sync.thrift.AsyncMessageHeader; //导入方法依赖的package包/类
protected void handshakeChallengeResponse(HelloMessage request,
                                          Channel channel) 
                                                  throws AuthException {
    AuthChallengeResponse cr = request.getAuthChallengeResponse();
    if (cr == null) {
        throw new AuthException("No authentication data in " + 
                "handshake message");
    }
    if (cr.isSetResponse()) {
        authenticateResponse(currentChallenge, cr.getResponse());
        currentChallenge = null;
        channelState = ChannelState.AUTHENTICATED;
        handleHello(request, channel);
    } else if (cr.isSetChallenge()) {
        HelloMessage m = new HelloMessage();
        if (getLocalNodeId() != null)
            m.setNodeId(getLocalNodeId());
        AsyncMessageHeader header = new AsyncMessageHeader();
        header.setTransactionId(getTransactionId());
        m.setHeader(header);
        SyncMessage bsm = new SyncMessage(MessageType.HELLO);
        bsm.setHello(m);

        AuthChallengeResponse reply = new AuthChallengeResponse();
        reply.setResponse(generateResponse(cr.getChallenge()));
        m.setAuthChallengeResponse(reply);
        channel.writeAndFlush(bsm);
    } else {
        throw new AuthException("No authentication data in " + 
                "handshake message");
    }
}
 
开发者ID:xuraylei,项目名称:fresco_floodlight,代码行数:33,代码来源:AbstractRPCChannelHandler.java

示例12: handleEchoRequest

import org.sdnplatform.sync.thrift.AsyncMessageHeader; //导入方法依赖的package包/类
protected void handleEchoRequest(EchoRequestMessage request,
                                 Channel channel) {
    EchoReplyMessage m = new EchoReplyMessage();
    AsyncMessageHeader header = new AsyncMessageHeader();
    header.setTransactionId(request.getHeader().getTransactionId());
    m.setHeader(header);
    SyncMessage bsm = new SyncMessage(MessageType.ECHO_REPLY);
    bsm.setEchoReply(m);
    channel.writeAndFlush(bsm);
}
 
开发者ID:xuraylei,项目名称:fresco_floodlight,代码行数:11,代码来源:AbstractRPCChannelHandler.java

示例13: getCRM

import org.sdnplatform.sync.thrift.AsyncMessageHeader; //导入方法依赖的package包/类
private CursorRequestMessage getCRM() {
    CursorRequestMessage crm = new CursorRequestMessage();
    AsyncMessageHeader header = new AsyncMessageHeader();
    header.setTransactionId(syncManager.getTransactionId());
    crm.setHeader(header);
    return crm;
}
 
开发者ID:xuraylei,项目名称:fresco_floodlight,代码行数:8,代码来源:RemoteStore.java

示例14: channelConnected

import org.sdnplatform.sync.thrift.AsyncMessageHeader; //导入方法依赖的package包/类
@Override
public void channelConnected(ChannelHandlerContext ctx,
                             ChannelStateEvent e) throws Exception {
    channelState = ChannelState.CONNECTED;

    HelloMessage m = new HelloMessage();
    if (getLocalNodeId() != null)
        m.setNodeId(getLocalNodeId());
    AsyncMessageHeader header = new AsyncMessageHeader();
    header.setTransactionId(getTransactionId());
    m.setHeader(header);
    switch (getAuthScheme()) {
        case NO_AUTH:
            channelState = ChannelState.AUTHENTICATED;
            m.setAuthScheme(org.sdnplatform.sync.thrift.
                            AuthScheme.NO_AUTH);
            break;
        case CHALLENGE_RESPONSE:
            AuthChallengeResponse cr = new AuthChallengeResponse();
            cr.setChallenge(generateChallenge());
            m.setAuthScheme(org.sdnplatform.sync.thrift.
                            AuthScheme.CHALLENGE_RESPONSE);
            m.setAuthChallengeResponse(cr);
            break;
    }
    SyncMessage bsm = new SyncMessage(MessageType.HELLO);
    bsm.setHello(m);
    ctx.getChannel().write(bsm);
}
 
开发者ID:nsg-ethz,项目名称:iTAP-controller,代码行数:30,代码来源:AbstractRPCChannelHandler.java

示例15: channelIdle

import org.sdnplatform.sync.thrift.AsyncMessageHeader; //导入方法依赖的package包/类
@Override
public void channelIdle(ChannelHandlerContext ctx,
                        IdleStateEvent e) throws Exception {
    // send an echo request
    EchoRequestMessage m = new EchoRequestMessage();
    AsyncMessageHeader header = new AsyncMessageHeader();
    header.setTransactionId(getTransactionId());
    m.setHeader(header);
    SyncMessage bsm = new SyncMessage(MessageType.ECHO_REQUEST);
    bsm.setEchoRequest(m);
    ctx.getChannel().write(bsm);
}
 
开发者ID:nsg-ethz,项目名称:iTAP-controller,代码行数:13,代码来源:AbstractRPCChannelHandler.java


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