public class MeshOrganizer
extends java.lang.Object
implements java.io.Serializable
Modifier and Type | Class and Description |
---|---|
static class |
MeshOrganizer.Node
This class represents basic tree node
|
Modifier and Type | Field and Description |
---|---|
protected java.util.Queue<MeshOrganizer.Node> |
fillQueue |
static int |
MAX_DEPTH |
static int |
MAX_DOWNSTREAMS |
Constructor and Description |
---|
MeshOrganizer() |
MeshOrganizer(MeshBuildMode mode)
Deprecated.
|
Modifier and Type | Method and Description |
---|---|
MeshOrganizer.Node |
addNode(MeshOrganizer.Node node)
This method adds new node to the mesh
|
MeshOrganizer.Node |
addNode(java.lang.String ip)
This method adds new node to the network
PLEASE NOTE: Default port 40123 is used
|
MeshOrganizer.Node |
addNode(java.lang.String ip,
int port)
This methods adds new node to the network
|
MeshOrganizer |
clone()
This method returns absolutely independent copy of this Mesh
|
boolean |
equals(java.lang.Object o) |
java.util.Collection<MeshOrganizer.Node> |
flatNodes()
This method returns our mesh as collection of nodes
|
protected long |
flatSize()
This method returns size of flattened map of nodes.
|
java.util.Collection<MeshOrganizer.Node> |
getDownstreamsForNode(java.lang.String ip)
This method returns downstream connections for a given node
|
MeshOrganizer.Node |
getNodeById(java.lang.String id)
This method returns Node representing given IP
|
MeshOrganizer.Node |
getUpstreamForNode(java.lang.String ip)
This method returns upstream connection for a given node
|
long |
getVersion() |
int |
hashCode() |
boolean |
isKnownNode(java.lang.String id)
This method returns true, if node is known
|
void |
markNodeOffline(MeshOrganizer.Node node)
This method marks given Node as offline, remapping its downstreams
|
void |
markNodeOffline(java.lang.String ip)
This method marks Node (specified by IP) as offline, and remaps its downstreams
|
long |
numberOfDescendantsOfNode()
This method returns total number of nodes below given one
|
void |
remapNode(MeshOrganizer.Node node)
This method reconnects given node to another node
|
void |
remapNode(java.lang.String ip)
This method reconnects given node to another node
|
void |
remapNodeAndDownstreams(MeshOrganizer.Node node)
This method remaps node and its downstreams somewhere
|
void |
remapNodeAndDownstreams(java.lang.String ip)
This method reconnects given node to another node
|
void |
removeNode()
This method removes node from tree
|
long |
totalNodes()
This method returns total number of nodes in this mesh
PLESE NOTE: this method INCLUDES root node
|
public static final int MAX_DOWNSTREAMS
public static final int MAX_DEPTH
protected transient java.util.Queue<MeshOrganizer.Node> fillQueue
public MeshOrganizer()
@Deprecated public MeshOrganizer(@NonNull MeshBuildMode mode)
public long getVersion()
public MeshOrganizer.Node addNode(@NonNull java.lang.String ip)
ip
- public MeshOrganizer.Node addNode(@NonNull java.lang.String ip, @NonNull int port)
public MeshOrganizer clone()
clone
in class java.lang.Object
public MeshOrganizer.Node addNode(@NonNull MeshOrganizer.Node node)
node
- public void markNodeOffline(@NonNull java.lang.String ip) throws java.util.NoSuchElementException
ip
- java.util.NoSuchElementException
public void markNodeOffline(@NonNull MeshOrganizer.Node node)
node
- public boolean equals(java.lang.Object o)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
public void remapNode(@NonNull java.lang.String ip)
public void remapNodeAndDownstreams(@NonNull java.lang.String ip)
public void remapNodeAndDownstreams(@NonNull MeshOrganizer.Node node)
node
- public void remapNode(@NonNull MeshOrganizer.Node node)
public void removeNode()
public boolean isKnownNode(@NonNull java.lang.String id)
public MeshOrganizer.Node getUpstreamForNode(@NonNull java.lang.String ip) throws java.util.NoSuchElementException
java.util.NoSuchElementException
public java.util.Collection<MeshOrganizer.Node> getDownstreamsForNode(@NonNull java.lang.String ip) throws java.util.NoSuchElementException
java.util.NoSuchElementException
public long numberOfDescendantsOfNode()
public long totalNodes()
protected long flatSize()
public java.util.Collection<MeshOrganizer.Node> flatNodes()
public MeshOrganizer.Node getNodeById(@NonNull java.lang.String id) throws java.util.NoSuchElementException
java.util.NoSuchElementException
Copyright © 2019. All rights reserved.