public ConnectionRequestMessage createConnectionRequestMessage() { return new ConnectionRequestMessage(); }
final ConnectionRequestMessage requestMsg = new ConnectionRequestMessage(); requestMsg.setConnectionRequest(request);
private ConnectionResponseMessage handleConnectionRequest(final ConnectionRequestMessage requestMessage, final Set<String> nodeIdentities) { final NodeIdentifier proposedIdentifier = requestMessage.getConnectionRequest().getProposedNodeIdentifier(); final NodeIdentifier withNodeIdentities = addNodeIdentities(proposedIdentifier, nodeIdentities); final DataFlow dataFlow = requestMessage.getConnectionRequest().getDataFlow(); final ConnectionRequest requestWithNodeIdentities = new ConnectionRequest(withNodeIdentities, dataFlow); // Resolve Node identifier. final NodeIdentifier resolvedNodeId = resolveNodeId(proposedIdentifier); if (isBlockedByFirewall(nodeIdentities)) { // if the socket address is not listed in the firewall, then return a null response logger.info("Firewall blocked connection request from node " + resolvedNodeId + " with Node Identities " + nodeIdentities); final ConnectionResponse response = ConnectionResponse.createBlockedByFirewallResponse(); final ConnectionResponseMessage responseMessage = new ConnectionResponseMessage(); responseMessage.setConnectionResponse(response); return responseMessage; } if (requireElection) { final DataFlow electedDataFlow = flowElection.castVote(dataFlow, withNodeIdentities); if (electedDataFlow == null) { logger.info("Received Connection Request from {}; responding with Flow Election In Progress message", withNodeIdentities); return createFlowElectionInProgressResponse(); } else { logger.info("Received Connection Request from {}; responding with DataFlow that was elected", withNodeIdentities); return createConnectionResponse(requestWithNodeIdentities, resolvedNodeId, electedDataFlow); } } logger.info("Received Connection Request from {}; responding with my DataFlow", withNodeIdentities); return createConnectionResponse(requestWithNodeIdentities, resolvedNodeId); }
marshaller.marshal(msg, socket.getOutputStream()); } catch (final IOException ioe) { throw new ProtocolException("Failed marshalling '" + msg.getType() + "' protocol message due to: " + ioe, ioe);
private NodeIdentifier getNodeIdentifier(final ProtocolMessage message) { if (message == null) { return null; } switch (message.getType()) { case CONNECTION_REQUEST: return ((ConnectionRequestMessage) message).getConnectionRequest().getProposedNodeIdentifier(); case HEARTBEAT: return ((HeartbeatMessage) message).getHeartbeat().getNodeIdentifier(); case OFFLOAD_REQUEST: return ((OffloadMessage) message).getNodeId(); case DISCONNECTION_REQUEST: return ((DisconnectMessage) message).getNodeId(); case FLOW_REQUEST: return ((FlowRequestMessage) message).getNodeId(); case RECONNECTION_REQUEST: return ((ReconnectionRequestMessage) message).getNodeId(); default: return null; } }
marshaller.marshal(msg, socket.getOutputStream()); } catch (final IOException ioe) { throw new ProtocolException("Failed marshalling '" + msg.getType() + "' protocol message due to: " + ioe, ioe);
private NodeIdentifier getNodeIdentifier(final ProtocolMessage message) { if (message == null) { return null; } switch (message.getType()) { case CONNECTION_REQUEST: return ((ConnectionRequestMessage) message).getConnectionRequest().getProposedNodeIdentifier(); case HEARTBEAT: return ((HeartbeatMessage) message).getHeartbeat().getNodeIdentifier(); case OFFLOAD_REQUEST: return ((OffloadMessage) message).getNodeId(); case DISCONNECTION_REQUEST: return ((DisconnectMessage) message).getNodeId(); case FLOW_REQUEST: return ((FlowRequestMessage) message).getNodeId(); case RECONNECTION_REQUEST: return ((ReconnectionRequestMessage) message).getNodeId(); default: return null; } }
public ConnectionRequestMessage createConnectionRequestMessage() { return new ConnectionRequestMessage(); }