-
Notifications
You must be signed in to change notification settings - Fork 7
Gxs (Transfer)
Service type: none.
This is the transfer system used by all Gxs services.
Item | Subtype | Purpose |
---|---|---|
GxsSyncGroupRequestItem | 1 | Requests a GxsSyncGroupItem. Sent every minute. |
GxsSyncGroupItem | 2 | Contains a group id which needs to be transferred. Is typically sent within a list of many, in a transaction. |
GxsSyncGroupStatsItem | 3 | Requests or contains statistics about a group (number of posts and last timestamp). |
GxsTransferGroupItem | 4 | Contains the Gxs group data. |
XXX | 5 | Encrypted data item. |
XXX | 6 | Session key item. |
GxsSyncMessageItem | 8 | Contains a group id and a message id that needs to be transferred. It typically sent withint a list of many, in a transaction. |
GxsSyncMessageRequestItem | 16 | Requests a GxsSyncMessageItem. Sent for every subscribed group, every minute. |
GxsTransferMessageItem | 32 | Contains the Message data |
GxsTransactionItem | 64 | Controls transactions which is a way to send a collection of items. |
XXX | 128 | Group publish key item. |
GxsSyncNotifyItem | 144 | Tell the peer that there have been changes and it should request them now. |
The transfer of data is done using transactions. Some items are used within transactions, others are sent directly.
Each minute, Heike asks Juergen if it has new groups by sending a GxsSyncGroupRequestItem containing the last syncing time.
Juergen checks its list of subscribed groups and sends the ids of all of them that have been updated since that last time in a GROUP_LIST_RESPONSE transaction with many GxsSyncGroupItems.
Heike checks against all the groups she already has and requests those that are more recent on Juergen's end by sending a GROUP_LIST_REQUEST transaction with many GxsSyncGroupItems.
Juergen sends back all the groups requested by Heike that is has by doing a transfer transaction.
It's also possible to request groups directly. For example Heike sees an identity identifier on the chat that she doesn't have. She will request them directly from Juergen by sending GxsSyncGroupItems with a GROUP_LIST_REQUEST.
Xeres | Retroshare |
---|---|
GxsSyncGroupRequestItem | RsNxsSyncGrpReqItem |
GxsSyncGroupItem | RsNxsSyncGrpItem |
GxsSyncGroupStatsItem | RsNxsSyncGrpStatsItem |
GxsTransferGroupItem | RsNxsGrp |
GxsTransactionItem | RsNxsTransacItem |
XXX | RsNxsGroupPublishKeyItem |
XXX | RsNxsEncryptedDataItem |
GxsSyncMessageRequestItem | RsNxsSyncMsgReqItem |
GxsSyncMessageItem | RsNxsSyncMsgItem |
GxsSyncNotifyItem | RsNxsPullRequestItem |
GxsTransferMessageItem | RsNxsMsg |