Encoding

Most repo commands and status reports are Data packets whose Content contains RepoCommandParam or RepoCommandRes structure. These Data are issued via Pub-Sub protocol. Each RepoCommandParam and RepoCommandRes contains multiple ObjectParam and ObjectResult, resp. These structures are defined as follows:

ObjectParam =
    Name
    [ForwardingHint]
    [StartBlockId]
    [EndBlockId]
    [RegisterPrefix]

ObjectResult =
    Name
    StatusCode
    [InsertNum]
    [DeleteNum]

RepoCommandParam =
    1 * (OBJECT-PARAM-TYPE TLV-LENGTH ObjectParam)

RepoCommandRes =
    StatusCode
    0 * (OBJECT-RESULT-TYPE TLV-LENGTH ObjectResult)

RepoStatQuery =
    RequestNo

ForwardingHint = FORWARDING-HINT-TYPE TLV-LENGTH Name

StartBlockId = START-BLOCK-ID-TYPE TLV-LENGTH NonNegativeInteger

EndBlockId = END-BLOCK-ID-TYPE TLV-LENGTH NonNegativeInteger

RegisterPrefix = REGISTER-PREFIX-TYPE TLV-LENGTH Name

StatusCode = STATUS-CODE-TYPE TLV-LENGTH NonNegativeInteger

InsertNum = INSERT-NUM-TYPE TLV-LENGTH NonNegativeInteger

DeleteNum = DELETE-NUM-TYPE TLV-LENGTH NonNegativeInteger

RequestNo = REQUEST-NO-TYPE TLV-LENGTH 1*OCTET

The type number assignments are as follows:

type

Assigned number (decimal)

Assigned number (hexadecimal)

START-BLOCK-ID-TYPE

204

0xCC

END-BLOCK-ID-TYPE

205

0xCD

REQUEST-NO-TYPE

206

0xCE

STATUS-CODE-TYPE

208

0xD0

INSERT-NUM-TYPE

209

0xD1

DELETE-NUM-TYPE

210

0xD2

FORWARDING-HINT-TYPE

211

0xD3

REGISTER-PREFIX-TYPE

212

0xD4

OBJECT-PARAM-TYPE

301

0x12D

OBJECT-RESULT-TYPE

302

0x12E

Status Code Definition

The status codes are defined as follows:

Code name

Value

Explanation

ROGER

100

Command received but not been executed yet

COMPLETED

200

Command completed

IN-PROGRESS

300

Command working in progress

FAILED

400

Command or parts of it failed

MALFORMED

403

Command is malformed

NOT-FOUND

404

Queried command not found