Depends on circbuf.sats