From bbd0aa68e87a3b94a4dcade1f38a2a2aebeaadaa Mon Sep 17 00:00:00 2001 From: Janne Koschinski <janne@kuschku.de> Date: Thu, 9 Jan 2020 19:16:49 +0100 Subject: [PATCH] Cleanup docs --- docs/protocol/overview.md | 26 ++++++++++- .../serialization/signalproxy_objects.md | 46 ++++++------------- .../protocol/serialization/signalproxy_rpc.md | 2 +- mkdocs.yml | 2 +- 4 files changed, 41 insertions(+), 35 deletions(-) diff --git a/docs/protocol/overview.md b/docs/protocol/overview.md index 74d43cc..a62a4c9 100644 --- a/docs/protocol/overview.md +++ b/docs/protocol/overview.md @@ -1,4 +1,26 @@ # Protocol Overview -!!! danger - The documentation is still being worked on. \ No newline at end of file +Our protocol is a multi-layered protocol. + +As bottom most layer we have the [Framing Layer](layers/framing.md). This +does the most basic feature negotiation, compression/encryption, and allows +splitting the stream into separate message frames. + +On top of that rests the [Message Layer](layers/message.md). It handles +handshaking, core setup, login, and afterwards provides the ability to request +objects, initialize them, and run sync/rpc calls on them. + +For our serialization, we describe the basic most functionality in +[Primitive Objects](serialization/primitive_objects.md), and for the different +layers on top, in [Handshake Messages](serialization/handshake_messages.md) and +[Signalproxy Messages](serialization/signalproxy_messages.md). + +Features for the Message Layer level feature negotation are specified in +[Features](serialization/features.md). + +The sync calls, the sync object serialization, and rpc calls are specified in +[SignalProxy Objects](serialization/signalproxy_objects.md) and +[SignalProxy RPC Calls](serialization/signalproxy_rpc.md). + +Our business logic is based solely on these sync, init, and rpc calls. It will +be described at a later time. \ No newline at end of file diff --git a/docs/protocol/serialization/signalproxy_objects.md b/docs/protocol/serialization/signalproxy_objects.md index b7c1b1b..8fab10c 100644 --- a/docs/protocol/serialization/signalproxy_objects.md +++ b/docs/protocol/serialization/signalproxy_objects.md @@ -507,31 +507,6 @@ interface CoreInfo { } ``` -## DccConfig - -!!! danger - This part is still unfinished. - -**ObjectName** - -As this object is a singleton, the objectName is always `DccConfig` - -**Runtime** - -```typescript -interface DccConfig { - -} -``` - -**Network** - -```typescript -interface DccConfig { - -} -``` - ## HighlightRuleManager **ObjectName** @@ -901,17 +876,26 @@ As this object is a singleton, the objectName is always `` ```typescript interface IrcListHelper { - + + + // C->S calls + + requestChannelList(netId: NetworkId, channelFilters: QStringList) + + + // S->C calls + + receiveChannelList(netId: NetworkId, channelFilters: QStringList, channels: QVariantList) + reportError(error: QString) + reportFinishedList(netId: NetworkId) } ``` **Network** -```typescript -interface IrcListHelper { - -} -``` +Its network representation is an empty `QVariantMap`, as it has no syncable +fields. For the same reason it also does **not** support the otherwise standard +`update` call. ## IrcUser diff --git a/docs/protocol/serialization/signalproxy_rpc.md b/docs/protocol/serialization/signalproxy_rpc.md index 116636e..b2d6e86 100644 --- a/docs/protocol/serialization/signalproxy_rpc.md +++ b/docs/protocol/serialization/signalproxy_rpc.md @@ -1,4 +1,4 @@ -# SignalProxy RPC calls +# SignalProxy RPC Calls For RPC calls, the full name – e.g. "2createIdentity(Identity,QVariantMap)" has to be transmitted, including the number at the beginning and the arglist. diff --git a/mkdocs.yml b/mkdocs.yml index 8ab0f12..ba664bc 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -22,7 +22,7 @@ nav: - "Handshake Messages": protocol/serialization/handshake_messages.md - "SignalProxy Messages": protocol/serialization/signalproxy_messages.md - "SignalProxy Objects": protocol/serialization/signalproxy_objects.md - - "SignalProxy RPC calls": protocol/serialization/signalproxy_rpc.md + - "SignalProxy RPC Calls": protocol/serialization/signalproxy_rpc.md extra: social: -- GitLab