PSYC Protocol Essentials

Created on 2021-12-02T01:51:46-06:00

Return to the Index

This card can also be read via Gemini.

Frames consist of a routing section and a payload section.

These are separated so that routers can ignore the payload as long as its copied to new destinations.

Headers consist of a variation status, key, and value.

Underscores are used for denoting heirarchy; ex "_foo_bar" is a type of "_foo."

Routing and payload is separated by a blank line.

Variations

Headers are basically variable assignments with different scopes.

You can assign a value for a specific request-response. For example a header says "=_target psyc://example.com/blobcat" to assign _target only for this request response pair.

You can assign a value which is persistent for the connection.

You can push or remove a value on a set.

You can ask for the value of a variable to be returned to you.

For example when trying to authenticate the response may include "?_password" which is asking for the value of variable _password to be assigned in the response to this message.

Content section

Payload section may begin with a number which is the content length

If no content length given then read until you see the end of frame sigils

Content length is optional to facilitate dumb clients firing off events from shell scripts

Method name comes after the optional content length. There are no verbs so the entire line is the verb.

If you want REST verbs then prepend them, ex _post_do-something for "POST do-something."