GitHub Repository
Dependencies
- java.net.http
- org.bouncycastle.provider
- software.sava.json.iterator
- software.sava.core
- software.sava.rpc
- software.sava.solana_programs
- software.sava.anchor_src_gen
- software.sava.anchor_programs
- software.sava.ravina_core
- software.sava.kms_core
RPC Call Weights
RPC Call Weights Construction
Used to match the request capacity available for a given RPC provider.RPC Caller
Ties together a Load Balancer, RPC Call Weights and an Executor Service to make using remote calls more convenient.RPC Caller Construction
Epoch Info Service
Periodically polls for slot performance stats and epoch information to create an Epoch data record which provides the following features:- The duration remaining for a given time unit.
- Percent complete.
- Epochs per year.
- The current slot index.
- The current block height accounting for a skip rate.
- SlotPerformanceStats
Epoch Service Configuration
- defaultMillisPerSlot: Used if performance samples are not available.
- minMillisPerSlot: Performance samples will be capped to greater than or equal to this value.
- maxMillisPerSlot: Performance samples will be capped to less than or equal to this value.
- slotSampleWindow: The recent time window to draw performance samples.
- fetchSlotSamplesDelay: Poll new performance samples and epoch information delay.
- fetchEpochInfoAfterEndDelay: Also fetch new performance samples and epoch information after each epoch rollover.
Epoch Info Service Usage
Web Socket Manager
Used to manage the connection of a SolanaRpcWebsocket. CallcheckConnection
to drive re-connections. If errors are
observed, the corresponding delay from the provided Backoff will be respected.
Pseudo Web Socket Manager Usage
Web Socket Manager Configuration
- endpoint: websocket url.
- backoff: Used for connection attempts in response to failures.