ID
|
Origin
|
Name
|
Foodgroup
|
Service
|
Status
|
Version
|
0x0013, 0x0011
|
NCD
|
FEEDBAG__START_CLUSTER
|
Unspecified
|
BOS
|
Active
|
4.0
|
The cluster SNACs bracket a set of transactions that should be handled by clients as a group to avoid "flashing" the user's screen.
They help in cases where multiple instances are online, or when the host is making updates for the client, so the receiving client knows several changes are happening at once. These SNACs have nothing to do with the actual database transactions. In particular, non-receipt of an END_CLUSTER does not cause the database transactions to be rolled back. The cluster SNACs bracket a set of transactions that should be handled by clients as a group to avoid "flashing" the user's screen.
They help in cases where multiple instances are online, or when the host is making updates for the client, so the receiving client knows several changes are happening at once. These SNACs have nothing to do with the actual database transactions. In particular, non-receipt of an END_CLUSTER does not cause the database transactions to be rolled back.
the start_cluster end_cluster snacs are optional. if they do not appear in stream of to client, then client should handle each insert delete update snac as it arrives. wait for end_cluster, or after a timeout period before processing all insert, update, deletes.
Foodgroup
|
uint16 (word)
|
00 13
|
Subgroup
|
uint16 (word)
|
00 11
|
Flags
|
uint16 (word)
|
00 00
|
Request ID
|
uint32 (dword)
|
00 00 00 00
|
@NOTE: ReqID supposedly always 0x00000011
SNAC Data
Name
|
Type
|
Notes
|
tlvs
|
Rest of SNAC array of TLV
|
Optional qualifying parameters
|
From Aleksandr Shutko: SNAC(13,11) FEEDBAG__START_CLUSTER
Use this before server side information (SSI) modification. Also
you should send SNAC(13,12) after SSI modification.
You could also use "import" transaction mode to add contacts requiring authorization.
Just add 0x00010000 to snac data to start import transaction. See also snac list for
SSI service here.
00 13 |
|
word |
|
SNAC family |
00 11 |
|
word |
|
SNAC subtype |
00 00 |
|
word |
|
SNAC flags |
xx xx xx xx |
|
dword |
|
SNAC request-id |
|
empty (or 0x00010000 for import transaction)
|
|
|
Example SNAC dump with flap header:
2A 02 22 96 00 0A 00 13 00 11 00 00 00 00 00 11 *.".............
|
|
FEEDBAG SNACs
SNAC List
Subgroup
|
Origin
|
Name
|
0x0001
|
Any
|
FEEDBAG__ERR
|
This is the error SNAC for the FEEDBAG foodgroup.
|
0x0002
|
Client
|
FEEDBAG__RIGHTS_QUERY
|
This SNAC issues a query to the host for the client's Feedbag rights and to let the system know what kind of Feedbag support it wants.
|
0x0003
|
Host
|
FEEDBAG__RIGHTS_REPLY
|
This is the response to the FEEDBAG__RIGHTS_QUERY SNAC.
|
0x0004
|
Client
|
FEEDBAG__QUERY
|
This SNAC is sent to query the Feedbag data stored on the host.
|
0x0005
|
Client
|
FEEDBAG__QUERY_IF_MODIFIED
|
Similar to FEEDBAG__QUERY except contains a Unix epoch to check against in order to only send if modified.
|
0x0006
|
Host
|
FEEDBAG__REPLY
|
This is the reply to FEEDBAG_QUERY.
|
0x0007
|
Client
|
FEEDBAG__USE
|
Directs the host to use the specified stored Feedbag information.
|
0x0008
|
Any
|
FEEDBAG__INSERT_ITEM
|
When this SNAC is sent to the host, the client is requesting that one or more new items are added to the Feedbag.
|
0x0009
|
Any
|
FEEDBAG__UPDATE_ITEM
|
When this SNAC is sent to the host, the client is requesting to update one or more items.
|
0x000A
|
Any
|
FEEDBAG__DELETE_ITEM
|
When this SNAC is sent to the host, the client is requesting that one or more items be deleted from the Feedbag.
|
0x000B
|
NCD
|
FEEDBAG__INSERT_CLASS
|
This is not currently documented.
|
0x000C
|
NCD
|
FEEDBAG__UPDATE_CLASS
|
This is not currently documented.
|
0x000D
|
NCD
|
FEEDBAG__DELETE_CLASS
|
This is not currently documented.
|
0x000E
|
Host
|
FEEDBAG__STATUS
|
These are the results of one of the insert/update/delete item SNACs from above.
|
0x000F
|
Host
|
FEEDBAG__REPLY_NOT_MODIFIED
|
Response to client if Feedbag data is unmodified.
|
0x0010
|
NCD
|
FEEDBAG__DELETE_USER
|
This is not currently documented.
|
0x0011
|
NCD
|
FEEDBAG__START_CLUSTER
|
The cluster SNACs bracket a set of transactions that should be handled by clients as a group to avoid "flashing" the user's screen.
|
0x0012
|
NCD
|
FEEDBAG__END_CLUSTER
|
This SNAC ends the data burst started with START_CLUSTER. See FEEDBAG__START_CLUSTER.
|
0x0013
|
Client
|
FEEDBAG__AUTHORIZE_BUDDY
|
Grant authorization to another user.
|
0x0014
|
Client
|
FEEDBAG__PRE_AUTHORIZE_BUDDY
|
Pre-authorize another user.
|
0x0015
|
Host
|
FEEDBAG__PRE_AUTHORIZED_BUDDY
|
Host notification to a user that they have been pre-authorized.
|
0x0016
|
Client
|
FEEDBAG__REMOVE_ME
|
Delete current user from another user's Buddy List.
|
0x0017
|
Client
|
FEEDBAG__REMOVE_ME2
|
This is not currently documented.
|
0x0018
|
Client
|
FEEDBAG__REQUEST_AUTHORIZE_TO_HOST
|
Send authorization request.
|
0x0019
|
Host
|
FEEDBAG__REQUEST_AUTHORIZE_TO_CLIENT
|
Host notice of authorization request from another user.
|
0x001A
|
Client
|
FEEDBAG__RESPOND_AUTHORIZE_TO_HOST
|
Send authorization response to FEEDBAG__REQUEST_AUTHORIZE_TO_CLIENT.
|
0x001B
|
Host
|
FEEDBAG__RESPOND_AUTHORIZE_TO_CLIENT
|
Host notice of grant or denial of authorization.
|
0x001C
|
Host
|
FEEDBAG__BUDDY_ADDED
|
Host notice that another user has added current user to their Buddy List.
|
0x001D
|
NCD
|
FEEDBAG__REQUEST_AUTHORIZE_TO_BADOG
|
This is not currently documented.
|
0x001E
|
NCD
|
FEEDBAG__RESPOND_AUTHORIZE_TO_BADOG
|
This is not currently documented.
|
0x001F
|
NCD
|
FEEDBAG__BUDDY_ADDED_TO_BADOG
|
This is not currently documented.
|
0x0021
|
Any
|
FEEDBAG__TEST_SNAC
|
This is not currently documented.
|
0x0022
|
NCD
|
FEEDBAG__FORWARD_MSG
|
This is not currently documented.
|
0x0023
|
NCD
|
FEEDBAG__IS_AUTH_REQUIRED_QUERY
|
This is not currently documented.
|
0x0024
|
NCD
|
FEEDBAG__IS_AUTH_REQUIRED_REPLY
|
This is not currently documented.
|
0x0025
|
NCD
|
FEEDBAG__RECENT_BUDDY_UPDATE
|
This is not currently documented.
|
|