From 7b84eb10c7c70dc83acd21afcc1ae631369428eb Mon Sep 17 00:00:00 2001 From: "@syxhe" Date: Wed, 1 Oct 2025 21:26:08 -0500 Subject: Implement ChannelNode --- src/main/java/IChannelNode.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'src/main/java/IChannelNode.java') diff --git a/src/main/java/IChannelNode.java b/src/main/java/IChannelNode.java index 463f3ac..baf7572 100644 --- a/src/main/java/IChannelNode.java +++ b/src/main/java/IChannelNode.java @@ -1,14 +1,19 @@ import java.util.List; import java.util.Map; -public interface IChannelNode { +public interface IChannelNode extends Comparable { enum Direction { - INCOMING, - OUTGOING, - BOTH + INCOMING(0), // Users incoming from outside channel (aka: other channel forwarded this channel's post) + OUTGOING(1), // Users outgoing from this channel (aka: this channel forwarded someone else's post) + BOTH(2); // Modify both incoming and outgoing counts at once + + private final int val; + Direction(int val) {this.val = val;} + public int getVal() {return this.val;} } void setConnections(Map conmap, Direction dir); + void setNumConnections(IChannelNode node, Direction dir, int num); void addConnection(IChannelNode node, Direction dir); void addConnections(Iterable nodes, Direction dir); void removeConnection(IChannelNode node, Direction dir); @@ -16,6 +21,7 @@ public interface IChannelNode { void clearConnections(Direction dir); boolean connectionExists(IChannelNode node, Direction dir); + int getNumConnections(Direction dir); Map getIncomingConnections(); Map getOutgoingConnections(); List> getConnections(Direction dir); -- cgit v1.2.3