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 {
19 Self { timestamp, message_length, message_type, message_id }
20 }
21
22 pub fn set_timestamp(&mut self, timestamp: Duration) {
24 self.timestamp = timestamp;
25 }
26
27 pub fn get_timestamp(&self) -> Duration {
29 self.timestamp
30 }
31
32 pub fn set_message_length(&mut self, message_length: u32) {
34 self.message_length = message_length;
35 }
36
37 pub fn get_message_length(&self) -> u32 {
39 self.message_length
40 }
41
42 pub fn set_message_type(&mut self, message_type: MessageType) {
44 self.message_type = message_type;
45 }
46
47 pub fn get_message_type(&self) -> MessageType {
49 self.message_type
50 }
51
52 pub fn set_message_id(&mut self, message_id: u32) {
54 self.message_id = message_id;
55 }
56
57 pub fn get_message_id(&self) -> u32 {
59 self.message_id
60 }
61}