.endpoint(nodeName) .connectivity(ImmutableMap.copyOf(newConnectivity)) .type(node.getType())
/** * Builds a new connectivity with unavailable state * @param endpoint node name * @return NodeConnectivity */ public static NodeConnectivity unavailable(String endpoint) { return NodeConnectivity.builder() .endpoint(endpoint) .type(NodeConnectivityType.UNAVAILABLE) .connectivity(ImmutableMap.of()) .build(); }
/** * Builds a new connectivity with NOT_READY state * @param endpoint node name * @return NodeConnectivity */ public static NodeConnectivity notReady(String endpoint) { return NodeConnectivity.builder() .endpoint(endpoint) .type(NodeConnectivityType.NOT_READY) .connectivity(ImmutableMap.of()) .build(); }
@Test public void testSerializeDeserialize() { NodeConnectivity co = NodeConnectivity.builder() .type(NodeConnectivityType.CONNECTED) .endpoint("localhost:9000") .connectivity(ImmutableMap.of()) .build(); NodeState nodeState = NodeState.builder() .sequencerMetrics(SequencerMetrics.UNKNOWN) .heartbeat(new HeartbeatTimestamp(0, 0)) .connectivity(co) .build(); ByteBuf buf = Unpooled.buffer(); CorfuPayloadMsg<NodeState> msg = CorfuMsgType.NODE_STATE_RESPONSE.payloadMsg(nodeState); msg.serialize(buf); CorfuMsg deserializedMsg = CorfuMsg.deserialize(buf); assertEquals(CorfuMsgType.NODE_STATE_RESPONSE, deserializedMsg.msgType); assertNotNull(deserializedMsg.getBuf()); }
private NodeState nodeState(String endpoint, ConnectionStatus... connectionStates) { Map<String, ConnectionStatus> connectivity = new HashMap<>(); for (int i = 0; i < connectionStates.length; i++) { connectivity.put(NODE_NAMES.get(i), connectionStates[i]); } NodeConnectivity nodeConnectivity = NodeConnectivity.builder() .endpoint(endpoint) .type(NodeConnectivityType.CONNECTED) .connectivity(ImmutableMap.copyOf(connectivity)) .build(); return NodeState.builder() .sequencerMetrics(SequencerMetrics.READY) .heartbeat(new HeartbeatTimestamp(0, 0)) .connectivity(nodeConnectivity) .build(); }
/** * Factory method to build a node connectivity * @param endpoint node name * @param connectivity connectivity matrix * @return NodeConnectivity */ public static NodeConnectivity connectivity(String endpoint, ImmutableMap<String, ConnectionStatus> connectivity) { return NodeConnectivity.builder() .endpoint(endpoint) .type(NodeConnectivityType.CONNECTED) .connectivity(connectivity) .build(); }
private NodeState unavailable(String endpoint) { NodeConnectivity connectivity = NodeConnectivity.builder() .endpoint(endpoint) .type(NodeConnectivityType.UNAVAILABLE) .connectivity(ImmutableMap.of()) .build(); return new NodeState( connectivity, new HeartbeatTimestamp(Layout.INVALID_EPOCH, 0), SequencerMetrics.UNKNOWN ); } }