RX0376

Domain: Wire

Error message

an I93 uid's byte form is refused: %s (%s)

In the message, %s marks a value that the engine fills in when it raises the error.

The story

Rush could not turn an identity into the bytes it needs for the wire. Let's see what an identity looks like. A uid is written as a chain of segments separated by dots, each segment exactly sixty-four hexadecimal digits. That is what the rush identity command prints. Before a uid can travel in a frame, it has to be packed into bytes: a count, followed by the segments. Two things can go wrong. First, a segment may not be sixty-four hex digits, perhaps too short, or with a letter outside the hex range. The verdict word for that is uid spelling. Second, the chain may be longer than two hundred fifty-five segments, because the count is one byte wide. That one is uid capacity. In both cases, rush refuses rather than shortening or padding, since an address that is altered even slightly points somewhere else. The first slot shows which uid and its text, the second slot shows the verdict. Compare the text with what rush identity prints, fix the segment, and send the identity again.

Text from the Rush engine's error catalogue.