/// module for the refinement interface for the hashgraph module tagion.hashgraph.RefinementInterface; import tagion.crypto.Types : Pubkey; import tagion.hashgraph.Event; import tagion.hashgraph.HashGraph; import tagion.hashgraph.HashGraphBasic; import tagion.hashgraph.Round; import tagion.services.options : TaskNames; import tagion.utils.BitMask; import tagion.utils.StdTime; @safe interface Refinement { void setOwner(HashGraph hashgraph); void setTasknames(TaskNames task_names); /// called when the epoch is final void finishedEpoch(const(Event[]) events, const sdt_t epoch_time, const Round decided_round); void excludedNodes(ref BitMask mask); void epack(immutable(EventPackage*) epack); void epoch(Event[] events, const(Round) decided_round); void payload(immutable(EventPackage*) epack); }