| .. _link: |
| |
| Link Object |
| ----------- |
| |
| The Link Object is a specialized form of a :ref:`Data packet <data>` packet, defined as follows:: |
| |
| LinkObject ::= DATA-TLV TLV-LENGTH |
| Name |
| MetaInfo (.ContentType = LINK) |
| LinkContent |
| Signature |
| |
| LinkContent ::= CONTENT-TYPE TLV-LENGTH |
| Delegation+ |
| |
| Delegation ::= LINK-DELEGATION-TYPE TLV-LENGTH |
| Preference |
| Name |
| |
| Preference ::= LINK-PREFERENCE-TYPE TLV-LENGTH |
| nonNegativeInteger |
| |
| |
| Link Object is a data packet, whose content contains a list of one or more name delegations: a pair of name and the associate priority. |
| The LinkObject can be used to derive the ``ForwardingHint`` guider of an Interest packet. |
| |
| The list of delegations in ``LinkContent`` SHOULD be ordered by preference value in ascending order (i.e., the lowest value first). |
| |
| In a LinkContent, each Delegation SHOULD have a distinct Name. |
| |
| |
| .. |
| Let’s assume that we have files that are published under /net/ndnsim, but are hosted under /att/user/alex/net/ndnsim and /verizon/user/alex/net/ndnsim. The structure of the Link would be the following: |
| |
| |
| +-----------------+---------------------------------------------+--------------------------------------------------------------+ |
| | Link Field | Value | Description of the value | |
| +=================+=============================================+==============================================================+ |
| | Name | /net/ndnsim/LINK | Name of the link (as a convention, the last NameComponent | |
| | | | MAY be "LINK") | |
| +-----------------+---------------------------------------------+--------------------------------------------------------------+ |
| | MetaInfo | ContentType = LINK | Field that identifies the actual data content | |
| +-----------------+---------------------------------------------+--------------------------------------------------------------+ |
| | Content | (/verizon/user/alex/net/ndnsim, 10) | Content in the form of (alias, preference) pairs | |
| | | (/att/user/alex/net/ndnsim, 100) | | |
| +-----------------+---------------------------------------------+--------------------------------------------------------------+ |
| | Signature | Varying | Signed by the publisher of the Link | |
| +-----------------+---------------------------------------------+--------------------------------------------------------------+ |