Skip to content

Class Index

All public types in the io.gempba packages, grouped by role. Links go to the source on GitHub. Types marked MP only ship only in the mp-mpi classifier.

ClassDescription
Entry point
GemPBA Static factories and entry points: createLoadBalancer, createNodeManager, createSeedNode, node creation, telemetry switches, shutdown. Each flavor ships its own variant of this class (MP variant), mirroring the C++ inline-namespace selection
Core handles (io.gempba.core)
LoadBalancer Handle to a C++ gempba::load_balancer; created through GemPBA.createLoadBalancer
NodeManager Handle to a C++ gempba::node_manager: goal and pool configuration, node submission, result tracking
Node One node in the search tree, mirroring gempba::node: submission handle and parent reference; type knowledge lives in the factory closures
Values (io.gempba.value)
Score Typed numeric score tracking the best result; built with Score.make(...)
ScoreType Numeric representation for a Score, mirroring gempba::score_type (I32, I64, F32, F64)
Goal Optimisation direction (MAXIMISE / MINIMISE), mirroring gempba::goal
BalancingPolicy Load-balancing strategy (QUASI_HORIZONTAL / WORK_STEALING), mirroring gempba::balancing_policy
Task functional interfaces (io.gempba.task)
NodeTask<Args, R> User-supplied branch-and-bound task: (threadId, args, node) with a typed argument bundle and result
VoidNodeTask<Args> Convenience specialisation of NodeTask for void-returning tasks
ClosureTask MT-mode task whose arguments are captured in the Java lambda closure; no serialization involved
ResultClosureTask<R> MT-mode closure task that returns a typed result, paired with a Serializer for retrieval via Node.getResult()
Serializer<A> Converts a value to bytes for transport into the C++ task_packet
Deserializer<A> Reconstructs a value from bytes received from the C++ task_packet
LazyArgsSupplier Argument initialiser for lazy nodes: return serialised bytes to run, or null to prune
Scheduling, MP only (io.gempba.scheduler)
Scheduler Handle to a C++ gempba::scheduler; obtained from GemPBA.createScheduler
Scheduler.Center Center-role view (rank 0): seeds the initial task and coordinates workers
Scheduler.Worker Worker-role view (non-zero ranks): runs the search and exchanges tasks
SchedulerTopology MPI topology selection (SEMI_CENTRALIZED / CENTRALIZED)
SerialRunnable Serializable task registered on a Scheduler.Worker by integer ID for cross-rank dispatch
SerialTask Task body for a SerialRunnable; typically creates child nodes from deserialised arguments
Statistics (io.gempba.stats)
RankStats Statistics for one MPI rank, collected after Scheduler.synchronizeStats()
Internal (io.gempba.internal, not user-facing)
GemPBANative The native method declarations behind every handle; loads the bundled library on first use
NativeLoader Extracts the right natives/<os>-<arch>/ binary from the fat JAR and loads it at runtime