LCOV - code coverage report
Current view: top level - disco/store - fd_pending_slots.h (source / functions) Hit Total Coverage
Test: cov.lcov Lines: 0 8 0.0 %
Date: 2024-11-13 11:58:15 Functions: 0 8 0.0 %

          Line data    Source code
       1             : #ifndef HEADER_fd_src_flamenco_runtime_fd_pending_slots_h
       2             : #define HEADER_fd_src_flamenco_runtime_fd_pending_slots_h
       3             : 
       4             : #include "../../util/fd_util.h"
       5             : 
       6             : 
       7           0 : #define FD_PENDING_MAX      ( 1U << 16U ) /* 128 kb */
       8           0 : #define FD_PENDING_MASK     ( FD_PENDING_MAX - 1U )
       9             : 
      10             : struct fd_pending_slots {
      11             :   ulong start;
      12             :   ulong end;
      13             :   ulong lo_wmark;
      14             :   ulong lock;
      15             :   long * pending; /* pending slots to try to prepare */
      16             : };
      17             : typedef struct fd_pending_slots fd_pending_slots_t;
      18             : 
      19             : FD_PROTOTYPES_BEGIN
      20             : 
      21             : FD_FN_CONST static inline ulong
      22           0 : fd_pending_slots_align( void ) {
      23           0 :   return alignof( fd_pending_slots_t );
      24           0 : }
      25             : 
      26             : FD_FN_CONST static inline ulong
      27           0 : fd_pending_slots_footprint( void ) {
      28           0 :   return sizeof( fd_pending_slots_t ) + (sizeof(long) * FD_PENDING_MAX);
      29           0 : }
      30             : 
      31             : void *
      32             : fd_pending_slots_new( void * mem, ulong lo_wmark );
      33             : 
      34             : fd_pending_slots_t *
      35             : fd_pending_slots_join( void * pending_slots );
      36             : 
      37             : void *
      38             : fd_pending_slots_leave( fd_pending_slots_t const * pending_slots );
      39             : 
      40             : void *
      41             : fd_pending_slots_delete( void * pending_slots );
      42             : 
      43             : int
      44             : fd_pending_slots_check( fd_pending_slots_t const * pending_slots,
      45             :                         ulong                      slot );
      46             : 
      47             : void
      48             : fd_pending_slots_add( fd_pending_slots_t * pending_slots,
      49             :                       ulong slot,
      50             :                       long when );
      51             : 
      52             : void
      53             : fd_pending_slots_set_lo_wmark( fd_pending_slots_t * pending_slots,
      54             :                                ulong slot );
      55             : 
      56             : ulong
      57             : fd_pending_slots_iter_init( fd_pending_slots_t * pending_slots );
      58             : 
      59             : ulong
      60             : fd_pending_slots_iter_next( fd_pending_slots_t * pending_slots,
      61             :                             long now,
      62             :                             ulong i );
      63             : 
      64             : long
      65             : fd_pending_slots_get( fd_pending_slots_t * pending_slots,
      66             :                       ulong                slot );       
      67             : 
      68             : FD_PROTOTYPES_END
      69             : 
      70             : #endif

Generated by: LCOV version 1.14