diff options
author | Kyle Gunger <kgunger12@gmail.com> | 2023-11-18 14:30:50 -0500 |
---|---|---|
committer | Kyle Gunger <kgunger12@gmail.com> | 2023-11-18 14:30:50 -0500 |
commit | 0d147b3a184fc311bd3dae6bf1c974722753b3bf (patch) | |
tree | 33d3ef5f8b37831f4704613e98f76a5f11f1f3d4 /src/main/java/net/cshift/transit/network/PoolManifest.java | |
parent | 5c5e1b3dd0985986a941a65726f8f2d7bff7a188 (diff) |
Diffstat (limited to 'src/main/java/net/cshift/transit/network/PoolManifest.java')
-rw-r--r-- | src/main/java/net/cshift/transit/network/PoolManifest.java | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/main/java/net/cshift/transit/network/PoolManifest.java b/src/main/java/net/cshift/transit/network/PoolManifest.java new file mode 100644 index 0000000..bc406fe --- /dev/null +++ b/src/main/java/net/cshift/transit/network/PoolManifest.java @@ -0,0 +1,42 @@ +package net.cshift.transit.network; + +/** + * @author Kyle Gunger + * @apiNote A pool manifest represents a set of possible data/resource pools that another node can request a channel to. + */ +public abstract class PoolManifest { + + /** Represents the number of pools that the node has access to. + * @apiNote A "pool" in this context represents an independent network of resources. + * Each network in the pool may represent a different TypeGroup. + * 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 abstract int poolCount(); + + /** If the mod supports named pools, the names can be queried through this function. + * + * @param group The TypeGroup the pool belongs to + * @param pool Array-like index for pool (gotten from poolCount) + */ + public String poolName(int pool) { + return ""; + } + + /** Returns true if the pool with the given id supports the given group + * + * @param pool The pool ID to query + * @param group The TypeGroup to query + * @return {@code true} if the pool supports the specified group, {@code false} otherwise + */ + public abstract boolean poolProvides(int pool, String group); + + /** 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(int pool) { + return ""; + } +} |