-
Notifications
You must be signed in to change notification settings - Fork 5
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. |
GxsSyncMessageItem | 8 | XXX |
GxsSyncMessageRequestItem | 16 | Requests a GxsSyncMessageItem. Sent for every subscribed group. |
GxsTransactionItem | 64 | Controls transactions which is a way to send a collection of items. |
The transfer of data is done using transactions. All items, except GxsSyncGroupRequestItem are done within transactions.
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 |