Структуры данных
Эта страница описывает основные структуры из Engine/Proto. Поля not transmitted используются локально и не должны считаться частью wire contract.
Member
Source: Engine/Proto/Member.h.
| Поле | Тип | Назначение |
|---|---|---|
id |
int64 | User/member id. |
type |
MemberType |
0=Undefined, 1=Ordinal, 2=Service. |
state |
MemberState |
Текущее состояние пользователя. |
login |
string | Логин. |
name |
string | Отображаемое имя. |
number |
string | Номер/внутренний идентификатор. |
icon |
string | Icon payload/reference. |
avatar |
string | Avatar payload/reference. |
groups |
Group[] |
Группы пользователя. |
max_input_bitrate |
uint32 | Ограничение входящего bitrate. |
order |
uint32 | Порядок в конференции/списках. |
has_camera |
bool | Камера доступна/видима. |
has_microphone |
bool | Микрофон доступен/слышен. |
has_demonstration |
bool | Демонстрация доступна/видима. |
grants |
uint32 | Bitmask прав участника. |
deleted |
bool | Tombstone/delete marker. |
unreaded_count |
uint32 | Локальное поле, не передается. |
Conference
Source: Engine/Proto/Conference.h.
| Поле | Тип | Назначение |
|---|---|---|
id |
int64 | Conference id. |
tag |
string | Stable tag для URL/API/connect. |
name |
string | Название. |
descr |
string | Описание. |
founder |
string | Имя владельца. |
founder_id |
int64 | Id владельца. |
type |
ConferenceType |
1=Symmetric, 2=Asymmetric, 3=AsymmetricWithSymmetricSound. |
grants |
uint32 | Bitmask прав/ограничений конференции. |
duration |
uint64 | Длительность/лимит. |
members |
Member[] |
Участники. |
connect_members |
bool | Автоматическое подключение участников. |
temp |
bool | Временная конференция. |
deleted |
bool | Tombstone/delete marker. |
unreaded_count |
uint32 | Локальное поле, не передается. |
rolled |
bool | Локальное поле, не передается. |
Group
Source: Engine/Proto/Group.h.
| Поле | Тип | Назначение |
|---|---|---|
id |
int64 | Group id. |
parent_id |
int64 | Parent group id. |
tag |
string | Stable tag. |
name |
string | Название. |
owner_id |
int64 | Владелец. |
password |
string | Пароль/ключ группы, если используется. |
grants |
uint32 | Bitmask прав группы. |
level |
int32 | Уровень в дереве. |
deleted |
bool | Tombstone/delete marker. |
rolled |
bool | Локальное поле, не передается. |
Message
Source: Engine/Proto/Message.h.
| Поле | Тип | Назначение |
|---|---|---|
guid |
string | Stable message id. |
dt |
time_t | Timestamp. |
type |
MessageType |
Text, call, file/media/service states. |
author_id, author_name |
int64/string | Автор содержимого. |
sender_id, sender_name |
int64/string | Отправитель. |
subscriber_id, subscriber_name |
int64/string | Получатель для p2p. |
conference_tag, conference_name |
string | Контекст конференции. |
status |
MessageStatus |
Created, Sended, Delivered, Readed, Modified, Deleted. |
text |
string | Текст или JSON payload service message. |
call_duration |
int32 | Длительность звонка. |
call_result |
CallResult |
Answered, Missed, Rejected, Busy, Offline. |
preview |
string | Preview payload/reference. |
data |
string | Дополнительные данные. |
url |
string | External URL. |
MessageType values:
| Value | Meaning |
|---|---|
1 |
TextMessage |
2 |
Call |
3 |
Join |
4 |
Leave |
5 |
Image |
6 |
Document |
7 |
Forwarded |
8 |
Video |
9 |
VoiceMessage |
10 |
VideoMessage |
11 |
Typing |
12 |
RecordingVoice |
13 |
RecordingVideo |
14 |
ServiceMessage |
Blob
Source: Engine/Proto/Blob.h.
| Поле | Тип | Назначение |
|---|---|---|
id |
int64 | Blob id. |
owner_id |
int64 | Владелец. |
guid |
string | Stable blob id. |
type |
BlobType |
1=Image, 2=Document, 3=Voice, 4=CircleVideo. |
status |
BlobStatus |
NotFound, Created, Received, Modified, Deleted. |
action |
BlobAction |
SpeedTest, Storage, P2P. |
data |
string | Blob data/reference. |
preview |
string | Preview data/reference. |
name |
string | File name. |
description |
string | Description. |
deleted |
bool | Tombstone/delete marker. |
Device values in device_connect
device_connect не отдельная структура в Engine/Proto, но это ключевой wire object.
| Поле | Назначение |
|---|---|
device_id |
Control id устройства. |
client_id |
Владелец устройства. |
device_type |
Camera/Microphone/Demonstration/etc. |
receiver_ssrc |
SSRC receiving side. |
author_ssrc |
SSRC publishing side. |
port |
Translator port. |
resolution, color_space, video_codec, audio_codec |
Media parameters. |
my |
1, если событие относится к локальному устройству текущего клиента. |
secure_key |
Key для RTP payload crypto. |
Grants
grants — bitmask. Не интерпретировать как enum value. Перед проверкой конкретного права использовать bit operations (BitIsSet, BitIsClear) и соответствующие enum definitions:
Engine/Proto/MemberGrants.h;Engine/Proto/ConferenceGrants.h;Engine/Proto/GroupGrants.h;Server/Processor/API.hдля API token grants.