本文整理汇总了Java中org.sdnplatform.sync.thrift.MessageType类的典型用法代码示例。如果您正苦于以下问题:Java MessageType类的具体用法?Java MessageType怎么用?Java MessageType使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
MessageType类属于org.sdnplatform.sync.thrift包,在下文中一共展示了MessageType类的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: handshake
import org.sdnplatform.sync.thrift.MessageType; //导入依赖的package包/类
protected void handshake(HelloMessage request, Channel channel) {
try {
switch (getAuthScheme()) {
case CHALLENGE_RESPONSE:
handshakeChallengeResponse(request, channel);
break;
case NO_AUTH:
// shouldn't get here
break;
}
} catch (AuthException e) {
logger.warn("[{}->{}] Failed to authenticate connection: {}",
new Object[]{getLocalNodeIdString(),
getRemoteNodeIdString(),
e.getMessage()});
channel.writeAndFlush(getError(request.getHeader().getTransactionId(),
e, MessageType.HELLO));
channel.close();
}
}
开发者ID:xuraylei,项目名称:fresco_floodlight,代码行数:21,代码来源:AbstractRPCChannelHandler.java
示例2: getError
import org.sdnplatform.sync.thrift.MessageType; //导入依赖的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
示例3: messageAcked
import org.sdnplatform.sync.thrift.MessageType; //导入依赖的package包/类
/**
* Called when a message is acknowledged by a remote node
* @param type the message type
* @param nodeId the remote node
*/
public void messageAcked(MessageType type, Short nodeId) {
if (nodeId == null) return;
if (!windowedTypes.contains(type)) return;
MessageWindow mw = messageWindows.get(nodeId);
if (mw == null) return;
int pending = mw.pending.decrementAndGet();
if (pending < MAX_PENDING_MESSAGES) {
mw.lock.lock();
try {
mw.full.signalAll();
} finally {
mw.lock.unlock();
}
}
}
开发者ID:xuraylei,项目名称:fresco_floodlight,代码行数:23,代码来源:RPCService.java
示例4: handleHello
import org.sdnplatform.sync.thrift.MessageType; //导入依赖的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
示例5: get
import org.sdnplatform.sync.thrift.MessageType; //导入依赖的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
示例6: put
import org.sdnplatform.sync.thrift.MessageType; //导入依赖的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
示例7: RemoteIterator
import org.sdnplatform.sync.thrift.MessageType; //导入依赖的package包/类
public RemoteIterator() {
CursorRequestMessage crm = getCRM();
crm.setStoreName(storeName);
SyncMessage bsm = new SyncMessage(MessageType.CURSOR_REQUEST);
bsm.setCursorRequest(crm);
SyncReply reply;
try {
reply = getReply(crm.getHeader().getTransactionId(),
bsm);
} catch (SyncException e) {
throw new SyncRuntimeException(e);
}
this.cursorId = reply.getIntValue();
if (reply.getKeyedValues() != null)
currentChunk = reply.getKeyedValues().iterator();
}
开发者ID:xuraylei,项目名称:fresco_floodlight,代码行数:17,代码来源:RemoteStore.java
示例8: getChunk
import org.sdnplatform.sync.thrift.MessageType; //导入依赖的package包/类
private Iterator<KeyedValues> getChunk() {
CursorRequestMessage crm = getCRM();
crm.setCursorId(cursorId);
SyncMessage bsm = new SyncMessage(MessageType.CURSOR_REQUEST);
bsm.setCursorRequest(crm);
SyncReply reply;
try {
reply = getReply(crm.getHeader().getTransactionId(),
bsm);
} catch (SyncException e) {
throw new SyncRuntimeException(e);
}
if (reply.getKeyedValues() == null ||
reply.getKeyedValues().size() == 0) return null;
return reply.getKeyedValues().iterator();
}
开发者ID:xuraylei,项目名称:fresco_floodlight,代码行数:19,代码来源:RemoteStore.java
示例9: handshake
import org.sdnplatform.sync.thrift.MessageType; //导入依赖的package包/类
@LogMessageDoc(level="WARN",
message="Failed to authenticate connection from {remote}: {message}",
explanation="Challenge/Response authentication failed",
recommendation="Check the included error message, and " +
"verify the shared secret is correctly-configured")
protected void handshake(HelloMessage request, Channel channel) {
try {
switch (getAuthScheme()) {
case CHALLENGE_RESPONSE:
handshakeChallengeResponse(request, channel);
break;
case NO_AUTH:
// shouldn't get here
break;
}
} catch (AuthException e) {
logger.warn("[{}->{}] Failed to authenticate connection: {}",
new Object[]{getLocalNodeIdString(),
getRemoteNodeIdString(),
e.getMessage()});
channel.write(getError(request.getHeader().getTransactionId(),
e, MessageType.HELLO));
channel.close();
}
}
开发者ID:nsg-ethz,项目名称:iTAP-controller,代码行数:26,代码来源:AbstractRPCChannelHandler.java
示例10: handleHello
import org.sdnplatform.sync.thrift.MessageType; //导入依赖的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
示例11: handleHello
import org.sdnplatform.sync.thrift.MessageType; //导入依赖的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
示例12: get
import org.sdnplatform.sync.thrift.MessageType; //导入依赖的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:zhenshengcai,项目名称:floodlight-hardware,代码行数:20,代码来源:RemoteStore.java
注:本文中的org.sdnplatform.sync.thrift.MessageType类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论