24 lines
648 B
Nim
24 lines
648 B
Nim
import pkg/chronos
|
|
|
|
import ../../logutils
|
|
import ../statemachine
|
|
import ../salesagent
|
|
import ./errorhandling
|
|
|
|
logScope:
|
|
topics = "marketplace sales ignored"
|
|
|
|
type
|
|
SaleIgnored* = ref object of ErrorHandlingState
|
|
|
|
method `$`*(state: SaleIgnored): string = "SaleIgnored"
|
|
|
|
method run*(state: SaleIgnored, machine: Machine): Future[?State] {.async.} =
|
|
let agent = SalesAgent(machine)
|
|
|
|
if onCleanUp =? agent.onCleanUp:
|
|
# Ignored slots mean there was no availability. In order to prevent small
|
|
# availabilities from draining the queue, mark this slot as seen and re-add
|
|
# back into the queue.
|
|
await onCleanUp(reprocessSlot = true)
|