1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
/// # Agent Wearables Request
/// <https://wiki.secondlife.com/wiki/AgentWearablesRequest>
///
/// This packet is used to request the wearables of a user.
/// THIS IS A LEGACY PACKET!!! The correct way to handle wearables requests is done using the
/// FetchInventoryDescendents2 capability endpoint.
///
/// ## Header
/// | Agent Wearables Request| | | | |
/// |--------------|-------------|----------------|-------------------|---------------------|
/// | Packet Header| id:381 | reliable: false| zerocoded: false | frequency: Low |
///
/// ## Packet Structure
/// | Agent Wearables Request ||||
/// |--------------|----------|--------------------|-------------------|
/// | agent_id | 16 bytes | [Uuid](uuid::Uuid) | ID of the user |
/// | session_id | 16 bytes | [Uuid](uuid::Uuid) | ID of the session |
/// # Agent Wearabales Update
/// <https://wiki.secondlife.com/wiki/AgentWearablesUpdate>
///
/// This packet is the response to the agent wearables request packet. This used to contain the
/// wearables of the requested user.
/// THIS IS A LEGACY PACKET!!! The correct way to handle wearables requests is done using the
/// FetchInventoryDescendents2 capability endpoint.
///
/// ## Header
/// | Agent Wearables Update| | | | |
/// |--------------|-------------|----------------|-------------------|---------------------|
/// | Packet Header| id:382 | reliable: false| zerocoded: false | frequency: Low |
///
/// ## Packet Structure
/// | Agent Wearables Update ||||
/// |--------------|----------|--------------------|-------------------|
/// | agent_id | 16 bytes | [Uuid](uuid::Uuid) | ID of the user |
/// | session_id | 16 bytes | [Uuid](uuid::Uuid) | ID of the session |
/// | serial_num | 4 bytes | [u32]| Serial number of the packet. Used to prevent handling packets out of order. |
/// | wearable count| 1 byte | [u8] | Number of wearables contained in the packet |
/// | Wearables | variable bytes || Wearables contained in the packet |
///
/// ### Wearable
/// This is the wearable data contained within the packet. It holds information about the wearable,
/// such as how to retrieve it from the server, what type it is, and what its ID is.
/// | Wearable ||||
/// |--------------|----------|--------------------|-------------------|
/// | item_id | 16 bytes | [Uuid](uuid::Uuid) | ID of the item, used for inventory |
/// | asset_id | 16 bytes | [Uuid](uuid::Uuid) | ID of the asset, used for retrieving from the ViewerAsset endpoint.|
/// | wearable_type| 1 byte | [u8] | Type of the wearable, such as shape, or shirt, etc... |