Line data Source code
1 : #include "fd_event_report.h" 2 : 3 : static FD_TL fd_event_reporter_t fd_event_tl_storage[1]; 4 : 5 : void 6 : fd_event_register( fd_topo_t const * topo, 7 0 : fd_topo_tile_t const * tile ) { 8 0 : fd_event_tl = NULL; 9 : 10 0 : if( FD_LIKELY( tile->event_link_id==ULONG_MAX ) ) return; /* no event link */ 11 : 12 0 : fd_topo_link_t const * link = &topo->links[ tile->event_link_id ]; 13 0 : FD_TEST( link->mcache ); 14 0 : FD_TEST( link->dcache ); 15 : 16 0 : fd_event_reporter_t * r = fd_event_tl_storage; 17 0 : r->mcache = link->mcache; 18 0 : r->depth = fd_mcache_depth( link->mcache ); 19 0 : r->seq = 0UL; 20 0 : r->seq_store = fd_mcache_seq_laddr( link->mcache ); 21 0 : r->mem = fd_wksp_containing( link->dcache ); 22 0 : FD_TEST( r->mem ); 23 0 : r->chunk0 = fd_dcache_compact_chunk0( r->mem, link->dcache ); 24 0 : r->wmark = fd_dcache_compact_wmark ( r->mem, link->dcache, link->mtu ); 25 0 : r->chunk = r->chunk0; 26 0 : r->mtu = link->mtu; 27 : 28 0 : fd_event_tl = r; 29 0 : }