diff options
Diffstat (limited to 'draft-schanzen-r5n.xml')
-rw-r--r-- | draft-schanzen-r5n.xml | 113 |
1 files changed, 49 insertions, 64 deletions
diff --git a/draft-schanzen-r5n.xml b/draft-schanzen-r5n.xml index 32ea767..b77eff3 100644 --- a/draft-schanzen-r5n.xml +++ b/draft-schanzen-r5n.xml | |||
@@ -425,8 +425,9 @@ END | |||
425 | <dl> | 425 | <dl> |
426 | <dt>Demultiplex everywhere (0)</dt> | 426 | <dt>Demultiplex everywhere (0)</dt> |
427 | <dd> | 427 | <dd> |
428 | Each peer along the way should look at 'enc'. Otherwise | 428 | Each peer along the way should process the request. Otherwise |
429 | only the k-peers closest to the key should look at it. | 429 | only peers that are locally closest to the key and no longer in the |
430 | random path mode should process it. | ||
430 | </dd> | 431 | </dd> |
431 | <dt>Record route (1)</dt> | 432 | <dt>Record route (1)</dt> |
432 | <dd> | 433 | <dd> |
@@ -438,14 +439,6 @@ END | |||
438 | Indicates a 'FIND-PEER' request. Implies that approximate results are | 439 | Indicates a 'FIND-PEER' request. Implies that approximate results are |
439 | acceptable. | 440 | acceptable. |
440 | </dd> | 441 | </dd> |
441 | <dt>Random key (3)</dt> | ||
442 | <dd> | ||
443 | Option for query key randomization. (TODO) | ||
444 | </dd> | ||
445 | <dt>Last hop (4)</dt> | ||
446 | <dd> | ||
447 | Indicates if this was the last hop for a GET/PUT. | ||
448 | </dd> | ||
449 | </dl> | 442 | </dl> |
450 | </section> | 443 | </section> |
451 | <section anchor="p2p_xq" numbered="true" toc="default"> | 444 | <section anchor="p2p_xq" numbered="true" toc="default"> |
@@ -458,23 +451,19 @@ END | |||
458 | <artwork name="" type="" align="left" alt=""><![CDATA[ | 451 | <artwork name="" type="" align="left" alt=""><![CDATA[ |
459 | 0 8 16 24 32 40 48 56 | 452 | 0 8 16 24 32 40 48 56 |
460 | +-----+-----+-----+-----+-----+-----+-----+-----+ | 453 | +-----+-----+-----+-----+-----+-----+-----+-----+ |
461 | | MSIZE | MTYPE | OPTIONS | | 454 | | MSIZE | MTYPE | BTYPE | |
462 | +-----+-----+-----+-----+-----+-----+-----+-----+ | 455 | +-----+-----+-----+-----+-----+-----+-----+-----+ |
463 | | BTYPE | HOPCOUNT | | 456 | | OPTIONS | HOPCOUNT | REPL_LVL | PATH_LEN | |
464 | +-----+-----+-----+-----+-----+-----+-----+-----+ | 457 | +-----+-----+-----+-----+-----+-----+-----+-----+ |
465 | | REPLICATIONLVL | PATH_LEN | | 458 | | EXPIRATION | |
466 | +-----+-----+-----+-----+-----+-----+-----+-----+ | 459 | +-----+-----+-----+-----+-----+-----+-----+-----+ |
467 | | EXPIRATION | BLOOMFILTER / | 460 | | BLOOMFILTER / |
468 | +-----+-----+-----+-----+ / | 461 | / (128 byte) | |
469 | / (128 byte) / | 462 | +-----+-----+-----+-----+-----+-----+-----+-----+ |
470 | / +-----+-----+-----+-----+ | 463 | | KEY / |
471 | / | KEY / | 464 | / (64 byte) | |
472 | +-----+-----+-----+-----+ / | 465 | +-----+-----+-----+-----+-----+-----+-----+-----+ |
473 | / (64 byte) / | 466 | / PUTPATH (variable length) / |
474 | / +-----+-----+-----+-----+ | ||
475 | / | PUTPATH / | ||
476 | +-----+-----+-----+-----+ / | ||
477 | / (variable length) / | ||
478 | +-----+-----+-----+-----+-----+-----+-----+-----+ | 467 | +-----+-----+-----+-----+-----+-----+-----+-----+ |
479 | / PAYLOAD (variable length) / | 468 | / PAYLOAD (variable length) / |
480 | +-----+-----+-----+-----+-----+-----+-----+-----+ | 469 | +-----+-----+-----+-----+-----+-----+-----+-----+ |
@@ -492,28 +481,28 @@ END | |||
492 | types but for put messages it must be set to | 481 | types but for put messages it must be set to |
493 | the value 146 in network byte order. | 482 | the value 146 in network byte order. |
494 | </dd> | 483 | </dd> |
495 | <dt>OPTIONS</dt> | ||
496 | <dd> | ||
497 | is a 32-bit options field (see below). | ||
498 | </dd> | ||
499 | <dt>BTYPE</dt> | 484 | <dt>BTYPE</dt> |
500 | <dd> | 485 | <dd> |
501 | is a 32-bit block type field. The block type indicates the content | 486 | is a 32-bit block type field. The block type indicates the content |
502 | type of the payload. In network byte order. | 487 | type of the payload. In network byte order. |
503 | </dd> | 488 | </dd> |
489 | <dt>OPTIONS</dt> | ||
490 | <dd> | ||
491 | is a 16-bit options field (see below). | ||
492 | </dd> | ||
504 | <dt>HOPCOUNT</dt> | 493 | <dt>HOPCOUNT</dt> |
505 | <dd> | 494 | <dd> |
506 | is a 32-bit number indicating how many hops this message has | 495 | is a 16-bit number indicating how many hops this message has |
507 | traversed to far. In network byte order. | 496 | traversed to far. In network byte order. |
508 | </dd> | 497 | </dd> |
509 | <dt>REPLICATIONLVL</dt> | 498 | <dt>REPL_LVL</dt> |
510 | <dd> | 499 | <dd> |
511 | is a 32-bit number indicating the desired replication level of | 500 | is a 16-bit number indicating the desired replication level of |
512 | the data. In network byte order. | 501 | the data. In network byte order. |
513 | </dd> | 502 | </dd> |
514 | <dt>PATH_LEN</dt> | 503 | <dt>PATH_LEN</dt> |
515 | <dd> | 504 | <dd> |
516 | is a 32-bit number indicating the length of the PUT path recorded | 505 | is a 16-bit number indicating the length of the PUT path recorded |
517 | in PUTPATH. As PUTPATH is optiona, this value may be zero. | 506 | in PUTPATH. As PUTPATH is optiona, this value may be zero. |
518 | In network byte order. | 507 | In network byte order. |
519 | </dd> | 508 | </dd> |
@@ -552,21 +541,17 @@ END | |||
552 | <artwork name="" type="" align="left" alt=""><![CDATA[ | 541 | <artwork name="" type="" align="left" alt=""><![CDATA[ |
553 | 0 8 16 24 32 40 48 56 | 542 | 0 8 16 24 32 40 48 56 |
554 | +-----+-----+-----+-----+-----+-----+-----+-----+ | 543 | +-----+-----+-----+-----+-----+-----+-----+-----+ |
555 | | MSIZE | MTYPE | OPTIONS | | 544 | | MSIZE | MTYPE | BTYPE | |
556 | +-----+-----+-----+-----+-----+-----+-----+-----+ | 545 | +-----+-----+-----+-----+-----+-----+-----+-----+ |
557 | | BTYPE | HOPCOUNT | | 546 | | OPTIONS | HOPCOUNT | REPL_LVL | XQ_SIZE | |
558 | +-----+-----+-----+-----+-----+-----+-----+-----+ | 547 | +-----+-----+-----+-----+-----+-----+-----+-----+ |
559 | | REPLICATIONLVL | XQUERY_SIZE | | 548 | | BLOOMFILTER / |
549 | / (128 byte) | | ||
560 | +-----+-----+-----+-----+-----+-----+-----+-----+ | 550 | +-----+-----+-----+-----+-----+-----+-----+-----+ |
561 | | BF_MUTATOR | BLOOMFILTER / | 551 | | KEY / |
562 | +-----+-----+-----+-----+ / | 552 | / (64 byte) | |
563 | / (128 byte) / | 553 | +-----+-----+-----+-----+-----+-----+-----+-----+ |
564 | / +-----+-----+-----+-----+ | 554 | / BF_MUTATOR | XQUERY / |
565 | / | KEY / | ||
566 | +-----+-----+-----+-----+ / | ||
567 | / (64 byte) / | ||
568 | / +-----+-----+-----+-----+ | ||
569 | / | XQUERY / | ||
570 | +-----+-----+-----+-----+ / | 555 | +-----+-----+-----+-----+ / |
571 | / (variable length) / | 556 | / (variable length) / |
572 | +-----+-----+-----+-----+-----+-----+-----+-----+ | 557 | +-----+-----+-----+-----+-----+-----+-----+-----+ |
@@ -586,34 +571,30 @@ END | |||
586 | types but for put messages it must be set to | 571 | types but for put messages it must be set to |
587 | the value 147 in network byte order. | 572 | the value 147 in network byte order. |
588 | </dd> | 573 | </dd> |
589 | <dt>OPTIONS</dt> | ||
590 | <dd> | ||
591 | is a 32-bit options field (see below). | ||
592 | </dd> | ||
593 | <dt>BTYPE</dt> | 574 | <dt>BTYPE</dt> |
594 | <dd> | 575 | <dd> |
595 | is a 32-bit block type field. The block type indicates the content | 576 | is a 32-bit block type field. The block type indicates the content |
596 | type of the payload. In network byte order. | 577 | type of the payload. In network byte order. |
597 | </dd> | 578 | </dd> |
579 | <dt>OPTIONS</dt> | ||
580 | <dd> | ||
581 | is a 16-bit options field (see below). | ||
582 | </dd> | ||
598 | <dt>HOPCOUNT</dt> | 583 | <dt>HOPCOUNT</dt> |
599 | <dd> | 584 | <dd> |
600 | is a 32-bit number indicating how many hops this message has | 585 | is a 16-bit number indicating how many hops this message has |
601 | traversed to far. In network byte order. | 586 | traversed to far. In network byte order. |
602 | </dd> | 587 | </dd> |
603 | <dt>REPLICATIONLVL</dt> | 588 | <dt>REPL_LVL</dt> |
604 | <dd> | 589 | <dd> |
605 | is a 32-bit number indicating the desired replication level of | 590 | is a 16-bit number indicating the desired replication level of |
606 | the data. In network byte order. | 591 | the data. In network byte order. |
607 | </dd> | 592 | </dd> |
608 | <dt>XQUERY_SIZE</dt> | 593 | <dt>XQ_SIZE</dt> |
609 | <dd> | 594 | <dd> |
610 | is a 32-bit number indicating the length of the optional | 595 | is a 32-bit number indicating the length of the optional |
611 | extended query XQUERY. In network byte order. | 596 | extended query XQUERY. In network byte order. |
612 | </dd> | 597 | </dd> |
613 | <dt>BF_MUTATOR</dt> | ||
614 | <dd> | ||
615 | The bloomfilter mutator. | ||
616 | </dd> | ||
617 | <dt>BLOOMFILTER</dt> | 598 | <dt>BLOOMFILTER</dt> |
618 | <dd> | 599 | <dd> |
619 | A bloomfilter (for peer identities) to stop circular routes. | 600 | A bloomfilter (for peer identities) to stop circular routes. |
@@ -627,7 +608,11 @@ END | |||
627 | <dd> | 608 | <dd> |
628 | the variable-length extended query. Optional. | 609 | the variable-length extended query. Optional. |
629 | </dd> | 610 | </dd> |
630 | <dt>BF_RESULT</dt> | 611 | <dt>BF_MUTATOR</dt> |
612 | <dd> | ||
613 | The 32-bit bloomfilter mutator for the result bloomfilter. | ||
614 | </dd> | ||
615 | <dt>RESULT_BF</dt> | ||
631 | <dd> | 616 | <dd> |
632 | the variable-length result bloomfilter. | 617 | the variable-length result bloomfilter. |
633 | </dd> | 618 | </dd> |
@@ -639,11 +624,11 @@ END | |||
639 | <artwork name="" type="" align="left" alt=""><![CDATA[ | 624 | <artwork name="" type="" align="left" alt=""><![CDATA[ |
640 | 0 8 16 24 32 40 48 56 | 625 | 0 8 16 24 32 40 48 56 |
641 | +-----+-----+-----+-----+-----+-----+-----+-----+ | 626 | +-----+-----+-----+-----+-----+-----+-----+-----+ |
642 | | MSIZE | MTYPE | OPTIONS | | 627 | | MSIZE | MTYPE | BTYPE | |
643 | +-----+-----+-----+-----+-----+-----+-----+-----+ | 628 | +-----+-----+-----+-----+-----+-----+-----+-----+ |
644 | | BTYPE | PUT_PATH_LEN | | 629 | | // | OPTIONS | PUTPATH_L | GETPATH_L | |
645 | +-----+-----+-----+-----+-----+-----+-----+-----+ | 630 | +-----+-----+-----+-----+-----+-----+-----+-----+ |
646 | | GET_PATH_LEN | EXPIRATION | | 631 | | EXPIRATION | |
647 | +-----+-----+-----+-----+-----+-----+-----+-----+ | 632 | +-----+-----+-----+-----+-----+-----+-----+-----+ |
648 | | KEY / | 633 | | KEY / |
649 | / (64 byte) | | 634 | / (64 byte) | |
@@ -673,22 +658,22 @@ END | |||
673 | </dd> | 658 | </dd> |
674 | <dt>OPTIONS</dt> | 659 | <dt>OPTIONS</dt> |
675 | <dd> | 660 | <dd> |
676 | is a 32-bit options field (see below). | 661 | is a 16-bit options field (see below). |
677 | </dd> | 662 | </dd> |
678 | <dt>BTYPE</dt> | 663 | <dt>BTYPE</dt> |
679 | <dd> | 664 | <dd> |
680 | is a 32-bit block type field. The block type indicates the content | 665 | is a 32-bit block type field. The block type indicates the content |
681 | type of the payload. In network byte order. | 666 | type of the payload. In network byte order. |
682 | </dd> | 667 | </dd> |
683 | <dt>PUT_PATH_LEN</dt> | 668 | <dt>PUTPATH_L</dt> |
684 | <dd> | 669 | <dd> |
685 | is a 32-bit number indicating the length of the PUT path recorded | 670 | is a 16-bit number indicating the length of the PUT path recorded |
686 | in PUTPATH. As PUTPATH is optiona, this value may be zero. | 671 | in PUTPATH. As PUTPATH is optiona, this value may be zero. |
687 | In network byte order. | 672 | In network byte order. |
688 | </dd> | 673 | </dd> |
689 | <dt>GET_PATH_LEN</dt> | 674 | <dt>GET_PATH_LEN</dt> |
690 | <dd> | 675 | <dd> |
691 | is a 32-bit number indicating the length of the GET path recorded | 676 | is a 16-bit number indicating the length of the GET path recorded |
692 | in GETPATH. As PUTPATH is optiona, this value may be zero. | 677 | in GETPATH. As PUTPATH is optiona, this value may be zero. |
693 | In network byte order. | 678 | In network byte order. |
694 | </dd> | 679 | </dd> |