package ru.dbotthepony.mc.otm.capability

import ru.dbotthepony.mc.otm.core.chart.CombinedDecimalHistoryChart
import ru.dbotthepony.mc.otm.core.chart.IHistoryChart
import ru.dbotthepony.mc.otm.core.math.Decimal

interface IProfiledStorage {
	val received: IHistoryChart<Decimal>
	val transferred: IHistoryChart<Decimal>

	val receivedThisTick: Decimal
	val transferredThisTick: Decimal

	/**
	 * Just a middleware interface for [CombinedDecimalHistoryChart] carriers
	 */
	interface Combined : IProfiledStorage {
		override val received: CombinedDecimalHistoryChart
		override val transferred: CombinedDecimalHistoryChart
	}
}
