usecrate::TakerTrade;/// Defines under what conditions one aggregation period is finished
/// Is generic over the type of candle being produced C,
/// as well as the type of input trade T
pubtraitAggregationRule<C, T: TakerTrade> {/// The main method defining when the aggregation is done
////// # Arguments:
/// trade: The most recent taker trade (tick) information
/// candle: Some generic Candle, allowing for information driven decision making
////// # Returns:
/// if true, the aggregation period is finished and a Candle can be emitted
/// else the aggregation needs to continue
fnshould_trigger(&mutself, trade:&T, candle:&C)->bool;}