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
51
52
53
54
55
56
57
58
59
60
61
62
//! Protocol Buffer definitions for queue management in Deezer Connect.
//!
//! This module contains auto-generated Rust code from Protocol Buffer definitions,
//! primarily handling queue data structures in the Deezer Connect protocol.
//!
//! # Queue Data Format
//!
//! Queue messages use Protocol Buffers for efficient serialization and
//! versioning. The data is:
//! 1. Serialized to Protocol Buffer format
//! 2. DEFLATE compressed
//! 3. Base64 encoded for transmission
//!
//! Example wire format:
//! ```json
//! {
//! "messageId": "msg123",
//! "messageType": "publishQueue",
//! "protocolVersion": "com.deezer.remote.queue.proto1",
//! "payload": "base64-encoded-deflated-protobuf"
//! }
//! ```
//!
//! # Generated Types
//!
//! Key message types include:
//! * `queue::List` - Complete queue contents
//! * `queue::Track` - Individual track information
//! * `queue::Order` - Track ordering/shuffle state
//!
//! # Usage Example
//!
//! ```rust,no_run
//! use connect::protos::queue;
//!
//! // Create a queue publication message
//! let queue = queue::List {
//! id: "queue123".to_string(),
//! tracks: vec![/* track data */],
//! tracks_order: vec![/* track positions */],
//! // ... other fields ...
//! };
//!
//! // Serialize for transmission
//! let bytes = queue.write_to_bytes()?;
//! ```
//!
//! # Code Generation
//!
//! The Rust code is generated during build using:
//! * `protobuf-codegen` compiler
//! * `.proto` source files in `protos/`
//! * Build configuration in `build.rs`
//!
//! Note: The generated code allows pedantic lints to avoid
//! warnings from the auto-generated implementations.
// Allow pedantic lints in generated code
// Include the generated Rust code from Protocol Buffers
include!;