diff options
author | Kyle Gunger <kgunger12@gmail.com> | 2021-06-19 20:41:15 -0400 |
---|---|---|
committer | Kyle Gunger <kgunger12@gmail.com> | 2021-06-19 20:41:15 -0400 |
commit | 80fe25bcb811508a5fe826c37513a8a63239cb55 (patch) | |
tree | 9e6242e55ee55e3a0b56322f9d94aacfaf546b25 /src/main/java | |
parent | 9190d7c12d1bbdcfc401543128fb0219e6fc0a81 (diff) |
[Release] version 2.0.0
Diffstat (limited to 'src/main/java')
4 files changed, 19 insertions, 80 deletions
diff --git a/src/main/java/net/cshift/transit/network/Channel.java b/src/main/java/net/cshift/transit/network/Channel.java index c7be552..e5c64da 100644 --- a/src/main/java/net/cshift/transit/network/Channel.java +++ b/src/main/java/net/cshift/transit/network/Channel.java @@ -109,12 +109,10 @@ public final class Channel<D> { /** Send a packet to the recieving node * * @param packet the packet to send - * @return {@code true} if the recieving node accepts the packet + * @return The overflow data if the packet is only partially accepted. {@code null} otherwise. */ - public boolean send(IStaticPacket<D> packet) + public IStaticPacket<D> send(IStaticPacket<D> packet) { - if(!this.isTerminated()) - return to.accept(packet, this); - return false; + return to.accept(packet, this); } } diff --git a/src/main/java/net/cshift/transit/network/INode.java b/src/main/java/net/cshift/transit/network/INode.java index 8f74dd6..7cbb1cc 100644 --- a/src/main/java/net/cshift/transit/network/INode.java +++ b/src/main/java/net/cshift/transit/network/INode.java @@ -8,14 +8,13 @@ import net.cshift.transit.network.packet.*; */ public interface INode { - /** Returns a channel manifest for the INode + /** Returns a pool manifest for the INode * */ public PoolManifest getManifest(); /** Get the system managing the node or {@code null} if there isn't one * - * @return System */ public ISystem getSystem(); @@ -28,7 +27,7 @@ public interface INode /** Call this function to establish a connection with a node. * * @param <T> The type of connection being asked for - * @param group The group of connection being asked for + * @param poolID The ID of the pool the channel will interface with (see PoolManifest) * @param asker The asking node * @return A channel if the node accepts the request, {@code null} otherwise */ @@ -40,9 +39,9 @@ public interface INode * @param <T> The type of the packet and channel * @param packet The packet to be vetted * @param channel The channel which the packet is coming through - * @return true if the node accepts the packet + * @return The overflow data if the packet is only partially accepted. {@code null} otherwise. */ - public <T> boolean accept(IStaticPacket<T> packet, Channel<T> channel); + public <T> IStaticPacket<T> accept(IStaticPacket<T> packet, Channel<T> channel); /** Pressure * diff --git a/src/main/java/net/cshift/transit/network/PoolManifest.java b/src/main/java/net/cshift/transit/network/PoolManifest.java index d6bec43..e23d47f 100644 --- a/src/main/java/net/cshift/transit/network/PoolManifest.java +++ b/src/main/java/net/cshift/transit/network/PoolManifest.java @@ -2,35 +2,39 @@ package net.cshift.transit.network; /** * @author Kyle Gunger - * @apiNote A channel manifest represents a set of possible data/resource pools that another node can request a channel to. + * @apiNote A pool manifest represents a set of possible data/resource pools that another node can request a channel to. */ -public interface PoolManifest { +public abstract class PoolManifest { /** Represents the number of pools that the node has access to for the specified resource. * @apiNote A "pool" in this context represents an independant network of resources. * Pool zero should be the default group that simple nodes will attempt to connect to. * @param group The TypeGroup that the pool belongs to */ - public int poolCount(String group); + public abstract int poolCount(String group); /** The ID of the pool. The INode will use this in a connection attempt with the other INode. * * @param group The TypeGroup the pool belongs to * @param pool Array-like index for pool (gotten from poolCount) */ - public int poolID(String group, int pool); + public abstract int poolID(String group, int pool); /** If the mod supports named pools, the names can be querried through this function. * * @param group The TypeGroup the pool belongs to * @param pool Array-like index for pool (gotten from poolCount) */ - public String poolName(String group, int pool); + public String poolName(String group, int pool) { + return ""; + } /** If the mod supports pool descriptions, they can be accessed by this method. * * @param group The TypeGroup the pool belongs to * @param pool Array-like index for pool (gotten from poolCount) */ - public String poolDescription(String group, int pool); + public String poolDescription(String group, int pool) { + return ""; + } } diff --git a/src/main/java/net/cshift/transit/type/group/TypeGroup.java b/src/main/java/net/cshift/transit/type/group/TypeGroup.java index d120cba..214f28c 100644 --- a/src/main/java/net/cshift/transit/type/group/TypeGroup.java +++ b/src/main/java/net/cshift/transit/type/group/TypeGroup.java @@ -5,14 +5,13 @@ import java.util.ArrayList; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import net.cshift.transit.network.packet.*; import net.cshift.transit.type.Type; /** * @author Kyle Gunger * @param <B> The base object which all grouped Types should convert between. */ -public class TypeGroup<B> +public final class TypeGroup<B> { // The base Type (provides the group's identifier) private Type<B> baseType; @@ -181,68 +180,7 @@ public class TypeGroup<B> } - // Type conversion - - /** Actually convert the packet - * - * @param packet - * @param type - * @return - */ - @Deprecated - protected IStaticPacket<B> convertPacketRaw(IStaticPacket<B> packet, Type<B> type) - { - return type.packetFromBase(packet.getType().toBase(packet.getData())); - } - - /**Convert a packet to a new type Returns null if the type isn't in the group. - * - * @param packet The packet to convert - * @param type The type to convert to - * @return Packet - */ - @Deprecated - public IStaticPacket<B> convertPacket(IStaticPacket<B> packet, Type<B> type) - { - return type.convertFrom(packet, this.getGroup()); - } - - /**Convert a packet to a new type Returns null if the type isn't found. - * - * @param packet The packet to convert - * @param groupID The groupID of the Type to convert to - * @param typeID The typeID of the Type to convert to - * @return Packet - */ - @Deprecated - public IStaticPacket<B> convertPacket(IStaticPacket<B> packet, String groupID, String typeID) - { - Type<B> toType = getType(groupID, typeID); - if(toType != null) - { - return toType.convertFrom(packet, this.getGroup()); - } - - return null; - } - - /**Convert a packet to a new type. Returns null if the type isn't found. - * - * @param packet The packet to convert - * @param typeID The typeID of the Type to convert to - * @return Packet - */ - @Deprecated - public IStaticPacket<B> convertPacket(IStaticPacket<B> packet, String typeID) - { - Type<B> toType = getType(typeID); - if(toType != null) - { - return toType.convertFrom(packet, this.getGroup()); - } - - return null; - } + // DO ALL TYPE CONVERSION USING TYPES. /** The group identifier. Given by the Base Group * @return String |