Files
eko/GLOSSARY.md

1.6 KiB

Glossary

The goal is to define the meaning behind specific terminology used in this project. Currently this document is incomplete, it'll be improved over time, feel free to contribute improvements.

ID

A snowflake ID, a snowflake ID is a unique identifier used across the client and server, it embeds metadata including the date it was generated which can be retrieved for display purposes.

User ID

A snowflake ID for a user, used as the primary way to refer to a user in a unique way (like opening a signal with a user).

Receiver ID

Usually refers to the "other" person's ID in a user-to-user messaging, but can also refer to the literal receiver_id SQL field on the messages table which may be either the "other" person, or the user itself.

Frequency ID

A snowflake ID that refers to a frequency.

Chad ID

A snowflake ID that refers to either a frequency ID or a receiver ID.

Signal

A currently open chat between 2 individual users ("DM").

Session

A struct that helps with managing a single active connection, it contains various metadata including the address of the connection and has methods for reading/writing to the connection, it is also responsible for metrics and rate limiting for per-connection requests.

Unauthenticated Session

A session that has not yet been authenticated, so it doesn't have a User ID or public key yet, and has not been added to the server sessions map.

Authenticated Session

A session that is authenticated and attached to a user, it has a UserID and a public key and it has been mapped into the server's session map.