Engine/Sync and Distribution

1. p≡p Sync
===========

what we've called “back scatter queue” in our dev meeting I'd like to
rename to “Sync channel”. So when I'm referring to “Sync Channel” it
will be implemented as IBM MQ Subscription Topic.

In case a Sync Channel is configured this channel is mandatory for all
Sync Messages. If no Sync Channel is configured then p≡p Sync Messages
can not be sent and will be deleted in case p≡p Sync is switched on.
This is logged as a warning (“p≡p Sync switched on but no Sync channel
configured; all Sync Messages are being dropped.”).

Sync Messages are coming as attachments in p≡p messages via messageToSend.
All such p≡p messages have the Own Identity, which is in From, also in To,
and only this single one. Only p≡p Sync Messages have this.

Sync Messages, which are addressed for channels, which are not Sync
Channels, have to be deleted and not being sent. This is log-level
informational. Only Sync Messages, which are addressed for a Sync
Channel, may be sent to this channel.

Message schema: Sync Messages are coming as attachment with MIME type
"application/pEp.sync"

+-------------------------------------------------------------------+
+ p≡p Message                                                       +
+                                                                   +
+ +------------------------------------+                            +
+ | Sync Message                       |                            +
+ +------------------------------------+                            +
+-------------------------------------------------------------------+

p≡p Sync protocols (protocols of the protocol family named p≡p Sync)
are:

a) Key Sync
b) Trust Sync

2. p≡p Distribution
===================

p≡p Distribution messages are coming as attachments to p≡p Messages.
They MAY appear with a Message coming from encryptMessage, and they MAY
come with a Message coming from messageToSend. Distribution messages
never appear in p≡p Messages where the only Identitiy in To is the
Own Identity in From.

Message schema: Distribution Messages are coming as attachment with MIME
type "application/pEp.distribution"

+-------------------------------------------------------------------+
+ p≡p Message                                                       +
+                                                                   +
+ +------------------------------------+                            +
+ | Distribution Message               |                            +
+ +------------------------------------+                            +
+-------------------------------------------------------------------+

p≡p Distribution protocols are:

a) Key Reset
b) Exploration