io.hekate.cluster.internal.gossip.GossipSuspectView Maven / Gradle / Ivy
/*
* Copyright 2022 The Hekate Project
*
* The Hekate Project licenses this file to you under the Apache License,
* version 2.0 (the "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at:
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*/
package io.hekate.cluster.internal.gossip;
import io.hekate.cluster.ClusterNodeId;
import io.hekate.util.format.ToString;
import java.util.Map;
import java.util.Set;
import static java.util.Collections.emptyMap;
public class GossipSuspectView {
public static final GossipSuspectView EMPTY = new GossipSuspectView(emptyMap());
private final Map> suspected;
public GossipSuspectView(Map> suspected) {
this.suspected = suspected;
}
public Set suspecting(ClusterNodeId id) {
return suspected.get(id);
}
public boolean isEmpty() {
return suspected.isEmpty();
}
public Set suspected() {
return suspected.keySet();
}
@Override
public String toString() {
return ToString.format(this);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy