Line data Source code
1 : #include "fd_gossip_out.h" 2 : #include "../../tango/fd_tango.h" 3 : 4 : void * 5 0 : fd_gossip_out_get_chunk( fd_gossip_out_ctx_t * ctx ) { 6 0 : return fd_chunk_to_laddr( ctx->mem, ctx->chunk ); 7 0 : } 8 : 9 : void 10 : fd_gossip_tx_publish_chunk( fd_gossip_out_ctx_t * ctx, 11 : fd_stem_context_t * stem, 12 : ulong sig, 13 : ulong sz, 14 0 : long now ) { 15 0 : if( FD_UNLIKELY( ctx->chunk<ctx->chunk0 || ctx->chunk>ctx->wmark || sz>FD_NET_MTU ) ) 16 0 : FD_LOG_ERR(( "chunk %lu %lu corrupt, not in range [%lu,%lu]", ctx->chunk, sz, ctx->chunk0, ctx->wmark )); 17 0 : fd_stem_publish( stem, ctx->idx, sig, ctx->chunk, sz, 0UL, 0UL, (ulong)now ); 18 0 : ctx->chunk = fd_dcache_compact_next( ctx->chunk, sz, ctx->chunk0, ctx->wmark ); 19 0 : }