///|
fn main raise {
let (sender, receiver) = @support.pair(frame_bytes=512)
let (handle, _) = @support.sender(sender, receiver, "jobs", "work", 1U, 1U)
let m = @amqp.Message::new([
{ descriptor: 0x70, body: List([Null, Null, UInt(5000U)]), },
{ descriptor: 0x75, body: Binary(Bytes::make(5000, b'x')), },
])
assert_true(!m.expiry_status(1000L, 2000L).expired)
let plan = sender.plan_send(handle, m, b"job-1")
assert_true(plan.frames > 1)
assert_eq(sender.link_credit(handle), 1U)
ignore(sender.send(handle, m, b"job-1"))
let bytes = sender.drain()
assert_eq(bytes.length(), plan.wire_bytes)
receiver.receive(bytes)
assert_true(m.expiry_status(1000L, 6000L).expired)
println(
"Task preflight preserves credit; fragmented transfer matches wire plan; expired jobs are explicit",
)
}