Build a fake payload: fixarray[2], each element is a fixmap{id->str, data->fixmap{}} Row format: 0x82 (fixmap 2 entries) "id" -> "0000001a" "data" -> 0x80 (empty fixmap)
(hex: &str)
| 459 | // "id" -> "0000001a" |
| 460 | // "data" -> 0x80 (empty fixmap) |
| 461 | fn encode_row(hex: &str) -> Vec<u8> { |
| 462 | let mut v = vec![0x82u8]; // fixmap 2 entries |
| 463 | // "id" key |
| 464 | v.push(0xa2); |
| 465 | v.extend_from_slice(b"id"); |
| 466 | // hex value as fixstr |
| 467 | let hb = hex.as_bytes(); |
| 468 | v.push(0xa0 | hb.len() as u8); |
| 469 | v.extend_from_slice(hb); |
| 470 | // "data" key |
| 471 | v.push(0xa4); |
| 472 | v.extend_from_slice(b"data"); |
| 473 | v.push(0x80); // empty fixmap |
| 474 | v |
| 475 | } |
| 476 | |
| 477 | let row1 = encode_row("0000001a"); // 26 |
| 478 | let row2 = encode_row("0000002b"); // 43 |