LCOV - code coverage report
Current view: top level - discof/restore/utils - fd_ssresolve.h (source / functions) Hit Total Coverage
Test: cov.lcov Lines: 1 6 16.7 %
Date: 2026-09-17 04:28:31 Functions: 0 0 -

          Line data    Source code
       1             : #ifndef HEADER_fd_src_discof_restore_utils_fd_ssresolve_h
       2             : #define HEADER_fd_src_discof_restore_utils_fd_ssresolve_h
       3             : 
       4             : #include "../../../flamenco/fd_flamenco_base.h"
       5             : #include "../../../util/net/fd_net_headers.h"
       6             : #include "../../../waltz/tls/fd_tls.h"
       7             : #include "../../../ballet/x509/fd_x509_ca_store.h"
       8             : 
       9           0 : #define FD_SSRESOLVE_MAGIC (0xF17EDA2CE55E510) /* FIREDANCER HTTP RESOLVE V0 */
      10       10752 : #define FD_SSRESOLVE_ALIGN (128UL)
      11             : 
      12             : struct fd_ssresolve_result {
      13             :   ulong     slot;                      /* slot of the snapshot */
      14             :   ulong     base_slot;                 /* base slot of incremental snapshot or ULONG_MAX */
      15             :   uchar     hash[ FD_HASH_FOOTPRINT ]; /* hash of the snapshot */
      16             : };
      17             : 
      18             : typedef struct fd_ssresolve_result fd_ssresolve_result_t;
      19             : 
      20             : struct fd_ssresolve_private;
      21             : typedef struct fd_ssresolve_private fd_ssresolve_t;
      22             : 
      23             : FD_PROTOTYPES_BEGIN
      24             : 
      25             : FD_FN_CONST ulong
      26             : fd_ssresolve_align( void );
      27             : 
      28             : FD_FN_CONST ulong
      29             : fd_ssresolve_footprint( void );
      30             : 
      31             : void *
      32             : fd_ssresolve_new( void * shmem );
      33             : 
      34             : fd_ssresolve_t *
      35             : fd_ssresolve_join( void * ssresolve );
      36             : 
      37             : void
      38             : fd_ssresolve_init( fd_ssresolve_t * ssresolve,
      39             :                    fd_ip4_port_t    addr,
      40             :                    int              sockfd,
      41             :                    int              full,
      42             :                    char const *     hostname );
      43             : 
      44             : void
      45             : fd_ssresolve_init_https( fd_ssresolve_t *           ssresolve,
      46             :                          fd_ip4_port_t              addr,
      47             :                          int                        sockfd,
      48             :                          int                        full,
      49             :                          char const *               hostname,
      50             :                          fd_tls_t const *           tls,
      51             :                          fd_x509_ca_store_t const * ca_store );
      52             : 
      53           0 : #define FD_SSRESOLVE_ADVANCE_ERROR   (-1) /* fatal error */
      54           0 : #define FD_SSRESOLVE_ADVANCE_AGAIN   ( 0) /* try again */
      55           0 : #define FD_SSRESOLVE_ADVANCE_SUCCESS ( 1) /* successful advance */
      56           0 : #define FD_SSRESOLVE_ADVANCE_RESULT  ( 2) /* successful advance with valid resolve result */
      57             : 
      58             : int
      59             : fd_ssresolve_advance_poll_out( fd_ssresolve_t * ssresolve );
      60             : 
      61             : int
      62             : fd_ssresolve_advance_poll_in( fd_ssresolve_t *        ssresolve,
      63             :                               fd_ssresolve_result_t * result );
      64             : 
      65             : int
      66             : fd_ssresolve_is_done( fd_ssresolve_t * ssresolve );
      67             : 
      68             : void
      69             : fd_ssresolve_cancel( fd_ssresolve_t * ssresolve );
      70             : 
      71             : FD_PROTOTYPES_END
      72             : 
      73             : #endif /* HEADER_fd_src_discof_restore_utils_fd_ssresolve_h */

Generated by: LCOV version 1.14