package com.its.common.cluster.vo; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import lombok.extern.slf4j.Slf4j; @Slf4j @Data @NoArgsConstructor @AllArgsConstructor public class ClusterNode { private boolean master = false; private int id = -1; private String ip = ""; private int port = 13888; // 포트 1: 데이터 동기화를 위한 포트 private boolean logging = false; private boolean packetLogging = false; private boolean witness = false; // Witness 노드인지 여부 private ClusterNetState electionState = new ClusterNetState(); // 서버로 동작하며 클라이언트의 네트워크 상태를 저장 private ClusterNetState syncState = new ClusterNetState(); // 클라이언트로 동작하며 서버와의 네트워크 상태를 저장 private final Object sendLock = new Object(); // 데이터 전송용 락 객체 public String getLogKey() { return String.valueOf(this.id); } }