本文整理汇总了Java中org.sdnplatform.sync.thrift.HelloMessage类的典型用法代码示例。如果您正苦于以下问题:Java HelloMessage类的具体用法?Java HelloMessage怎么用?Java HelloMessage使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
HelloMessage类属于org.sdnplatform.sync.thrift包,在下文中一共展示了HelloMessage类的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: handshake
import org.sdnplatform.sync.thrift.HelloMessage; //导入依赖的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();
}
}
示例2: handleHello
import org.sdnplatform.sync.thrift.HelloMessage; //导入依赖的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);
}
示例3: handshake
import org.sdnplatform.sync.thrift.HelloMessage; //导入依赖的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();
}
}
示例4: handleHello
import org.sdnplatform.sync.thrift.HelloMessage; //导入依赖的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);
}
示例5: handshake
import org.sdnplatform.sync.thrift.HelloMessage; //导入依赖的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();
}
}
示例6: handleHello
import org.sdnplatform.sync.thrift.HelloMessage; //导入依赖的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);
}
示例7: handshake
import org.sdnplatform.sync.thrift.HelloMessage; //导入依赖的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.write(getError(request.getHeader().getTransactionId(),
e, MessageType.HELLO));
channel.close();
}
}
示例8: channelActive
import org.sdnplatform.sync.thrift.HelloMessage; //导入依赖的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);
}
示例9: handshakeChallengeResponse
import org.sdnplatform.sync.thrift.HelloMessage; //导入依赖的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");
}
}
示例10: handleHello
import org.sdnplatform.sync.thrift.HelloMessage; //导入依赖的package包/类
@Override
protected void handleHello(HelloMessage hello, Channel channel) {
syncManager.remoteNodeId = hello.getNodeId();
syncManager.ready = true;
synchronized (syncManager.readyNotify) {
syncManager.notifyAll();
}
}
示例11: channelConnected
import org.sdnplatform.sync.thrift.HelloMessage; //导入依赖的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);
}
示例12: handshakeChallengeResponse
import org.sdnplatform.sync.thrift.HelloMessage; //导入依赖的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.write(bsm);
} else {
throw new AuthException("No authentication data in " +
"handshake message");
}
}