LCOV - code coverage report
Current view: top level - disco/shred - fd_shred_cap.c (source / functions) Hit Total Coverage
Test: cov.lcov Lines: 0 31 0.0 %
Date: 2024-11-13 11:58:15 Functions: 0 2 0.0 %

          Line data    Source code
       1             : #include "fd_shred_cap.h"
       2             : #include <unistd.h>
       3             : 
       4             : /* int */
       5             : /* fd_shred_cap_mark_stable( fd_replay_t * replay, ulong slot ) { */
       6             : /*   if( replay->shred_cap == NULL ) return FD_SHRED_CAP_OK; */
       7             : 
       8             : /*   if (replay->stable_slot_start == 0) */
       9             : /*     replay->stable_slot_start = slot; */
      10             : /*   if (slot > replay->stable_slot_end) */
      11             : /*     replay->stable_slot_end = slot; */
      12             : 
      13             : /*   if (replay->stable_slot_start + MAX_STABLE_PREFIX < replay->stable_slot_end) { */
      14             : /*     FD_LOG_WARNING( ("reaching max stable prefix length (%lu..%lu more than %u slots) in shred_cap", */
      15             : /*                      replay->stable_slot_start, */
      16             : /*                      replay->stable_slot_end, */
      17             : /*                      MAX_STABLE_PREFIX) ); */
      18             : /*   } */
      19             : 
      20             : /*   return FD_SHRED_CAP_OK; */
      21             : /* } */
      22             : 
      23             : int
      24             : fd_shred_cap_archive( fd_shred_cap_ctx_t * ctx FD_PARAM_UNUSED,
      25             :                       fd_shred_t const *   shred,
      26           0 :                       uchar                flags  FD_PARAM_UNUSED) {
      27           0 :   ulong  wsz;
      28           0 :   ulong  shred_len = fd_shred_sz( shred );
      29           0 :   ushort hdr_len = sizeof( fd_shred_cap_hdr_t );
      30           0 :   fd_shred_cap_hdr_t cap_header = {.sz = shred_len, .flags = flags};
      31           0 :   fd_io_write( ctx->shred_cap_fileno, &cap_header, (ulong)hdr_len, (ulong)hdr_len, &wsz );
      32           0 :   FD_TEST( wsz == hdr_len );
      33           0 :   fd_io_write( ctx->shred_cap_fileno, shred, shred_len, shred_len, &wsz );
      34           0 :   FD_TEST( wsz == shred_len );
      35           0 :   fsync( ctx->shred_cap_fileno );
      36             : 
      37           0 :   return FD_SHRED_CAP_OK;
      38           0 : }
      39             : 
      40             : int
      41             : fd_shred_cap_replay( const char *      shred_cap_fpath,
      42           0 :                      fd_store_t *      store ) {
      43           0 :   FILE * shred_cap = fopen( shred_cap_fpath, "rb" );
      44           0 :   FD_TEST( shred_cap );
      45             : 
      46           0 :   ulong cnt = 0;
      47           0 :   for( ;; ) {
      48           0 :     fd_shred_cap_hdr_t header;
      49           0 :     ulong nshredcap_hdr = fread( &header, sizeof( fd_shred_cap_hdr_t ), 1, shred_cap );
      50           0 :     if ( nshredcap_hdr != 1 ) break;
      51             : 
      52           0 :     uchar buffer[FD_SHRED_MAX_SZ];
      53           0 :     ulong shred_len = header.sz;
      54           0 :     ulong bytes_read = fread( buffer, sizeof( uchar ), shred_len, shred_cap );
      55           0 :     if ( bytes_read != shred_len ) break;
      56             : 
      57           0 :     fd_shred_t const * shred = fd_shred_parse( buffer, shred_len );
      58           0 :     if ( fd_store_shred_insert( store, shred ) < FD_BLOCKSTORE_OK ) return FD_SHRED_CAP_ERR;
      59           0 :     cnt++;
      60             :     /*
      61             :     if ( FD_SHRED_CAP_FLAG_IS_TURBINE(header.flags) ) {
      62             :       fd_replay_turbine_rx( replay, shred, fd_shred_sz( shred ));
      63             :     } else {
      64             :       fd_replay_repair_rx( replay, shred );
      65             :     }
      66             :     */
      67           0 :   }
      68           0 :   FD_LOG_WARNING( ("Finish inserting %lu shreds from the shredcap file", cnt) );
      69           0 :   return FD_SHRED_CAP_OK;
      70           0 : }

Generated by: LCOV version 1.14