LCOV - code coverage report
Current view: top level - choreo/votor - ag_pool.h (source / functions) Hit Total Coverage
Test: cov.lcov Lines: 4 5 80.0 %
Date: 2026-09-17 04:28:31 Functions: 0 0 -

          Line data    Source code
       1             : #ifndef HEADER_fd_src_choreo_votor_ag_pool_h
       2             : #define HEADER_fd_src_choreo_votor_ag_pool_h
       3             : 
       4             : #include "ag_votor_base.h"
       5             : #include "ag_cert.h"
       6             : #include "ag_epoch_info.h"
       7             : #include "ag_event.h"
       8             : #include "ag_slot_state.h"
       9             : #include "ag_vote.h"
      10             : 
      11        4293 : #define AG_POOL_SUCCESS                ( 0)
      12         174 : #define AG_POOL_ERR_SLOT_OUT_OF_BOUNDS (-1)
      13          12 : #define AG_POOL_ERR_DUPLICATE          (-2)
      14           6 : #define AG_POOL_ERR_SLASHABLE          (-3)
      15           0 : #define AG_POOL_ERR_CERT_VERIFY        (-4)
      16             : 
      17             : typedef struct ag_pool ag_pool_t;
      18             : 
      19             : FD_PROTOTYPES_BEGIN
      20             : 
      21             : FD_FN_CONST ulong
      22             : ag_pool_align( void );
      23             : 
      24             : FD_FN_CONST ulong
      25             : ag_pool_footprint( ulong slot_max );
      26             : 
      27             : void *
      28             : ag_pool_new( void * mem,
      29             :              ulong  slot_max,
      30             :              ulong  seed );
      31             : 
      32             : ag_pool_t *
      33             : ag_pool_join( void * mem );
      34             : 
      35             : void *
      36             : ag_pool_leave( ag_pool_t const * pool );
      37             : 
      38             : void *
      39             : ag_pool_delete( void * mem );
      40             : 
      41             : void
      42             : ag_pool_init( ag_pool_t * self,
      43             :               ulong       slot );
      44             : 
      45             : void
      46             : ag_pool_fini( ag_pool_t * self );
      47             : 
      48             : FD_FN_CONST char const *
      49             : ag_pool_strerror( int err );
      50             : 
      51             : void
      52             : ag_pool_advance_epoch( ag_pool_t *             self,
      53             :                        ag_epoch_info_t const * epoch_info,
      54             :                        ulong                   epoch_rank,
      55             :                        ulong                   epoch_slot );
      56             : 
      57             : int
      58             : ag_pool_add_cert( ag_pool_t *       self,
      59             :                   ag_cert_t const * cert,
      60             :                   fd_bls_set_t *    bad );
      61             : 
      62             : int
      63             : ag_pool_add_vote( ag_pool_t *       self,
      64             :                   ag_vote_t const * vote,
      65             :                   fd_bls_set_t *    bad );
      66             : 
      67             : int
      68             : ag_pool_add_block( ag_pool_t *           self,
      69             :                    ag_block_id_t const * block_id,
      70             :                    ag_block_id_t const * parent_id,
      71             :                    fd_bls_set_t *        bad );
      72             : 
      73             : ag_slot_state_t const *
      74             : ag_pool_slot_state( ag_pool_t const * self,
      75             :                     ulong             slot );
      76             : 
      77             : void
      78             : ag_pool_recover_from_standstill( ag_pool_t * self );
      79             : 
      80             : FD_FN_PURE ulong
      81             : ag_pool_finalized_slot( ag_pool_t const * self );
      82             : 
      83             : FD_FN_PURE uchar const *
      84             : ag_pool_finalized_block_hash( ag_pool_t const * self );
      85             : 
      86             : ag_block_id_t const *
      87             : ag_pool_parents_ready( ag_pool_t * self,
      88             :                        ulong       slot,
      89             :                        ulong *     cnt );
      90             : 
      91             : ag_block_id_t
      92             : ag_pool_wait_for_parent_ready( ag_pool_t * self,
      93             :                                ulong       slot );
      94             : 
      95             : int
      96             : ag_pool_poll_pool_event( ag_pool_t *       self,
      97             :                          ag_event_pool_t * event );
      98             : 
      99             : int
     100             : ag_pool_poll_repair_event( ag_pool_t *         self,
     101             :                            ag_event_repair_t * event );
     102             : 
     103             : FD_PROTOTYPES_END
     104             : 
     105             : #endif

Generated by: LCOV version 1.14