sheave_core/handlers/rtmp_context/
last_chunk.rs1use std::time::Duration;
2use crate::messages::headers::MessageType;
3
4#[derive(Debug, Clone, Copy)]
6pub struct LastChunk {
7 timestamp: Duration,
8 message_length: u32,
9 message_type: MessageType,
10 message_id: u32
11}
12
13impl LastChunk {
14 pub fn new(timestamp: Duration, message_length: u32, message_type: MessageType, message_id: u32) -> Self {
18 Self { timestamp, message_length, message_type, message_id }
19 }
20
21 pub fn set_timestamp(&mut self, timestamp: Duration) {
23 self.timestamp = timestamp;
24 }
25
26 pub fn get_timestamp(&self) -> Duration {
28 self.timestamp
29 }
30
31 pub fn set_message_length(&mut self, message_length: u32) {
33 self.message_length = message_length;
34 }
35
36 pub fn get_message_length(&self) -> u32 {
38 self.message_length
39 }
40
41 pub fn set_message_type(&mut self, message_type: MessageType) {
43 self.message_type = message_type;
44 }
45
46 pub fn get_message_type(&self) -> MessageType {
48 self.message_type
49 }
50
51 pub fn set_message_id(&mut self, message_id: u32) {
53 self.message_id = message_id;
54 }
55
56 pub fn get_message_id(&self) -> u32 {
58 self.message_id
59 }
60}