Skip to content

Commit 5783622

Browse files
committed
feat(conference): add Conference enum entry
1 parent fabebc2 commit 5783622

33 files changed

+548
-706
lines changed
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/*! Conference Packets
1+
/*! The implementation of conference
22
*/
33

44
pub mod packet;

src/toxcore/messenger/packet/group/chane_name.rs renamed to src/toxcore/messenger/conference/packet/chane_name.rs

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,18 @@ use std::str;
55
use nom::{be_u16, be_u32, rest};
66

77
use crate::toxcore::binary_io::*;
8-
use super::MAX_NAME_LENGTH_IN_GROUP;
8+
use super::MAX_NAME_LENGTH_IN_CONFERENCE;
99

10-
/** ChangeName is the struct that holds info to notify changing name of a peer to a group chat.
10+
/** ChangeName is the struct that holds info to notify changing name of a peer to a conference.
1111
12-
Sent by a peer who wants to change its name or by a joining peer to notify its name to members of group chat.
12+
Sent by a peer who wants to change its name or by a joining peer to notify its name to members of conference.
1313
1414
Serialized form:
1515
1616
Length | Content
1717
--------- | ------
1818
`1` | `0x63`
19-
`2` | `group number`
19+
`2` | `conference number`
2020
`2` | `peer number`
2121
`4` | `message number`
2222
`1` | `0x30`
@@ -25,7 +25,7 @@ variable | `name`(UTF-8 C String)
2525
*/
2626
#[derive(Clone, Debug, Eq, PartialEq)]
2727
pub struct ChangeName {
28-
group_number: u16,
28+
conference_number: u16,
2929
peer_number: u16,
3030
message_number: u32,
3131
name: String,
@@ -34,14 +34,14 @@ pub struct ChangeName {
3434
impl FromBytes for ChangeName {
3535
named!(from_bytes<ChangeName>, do_parse!(
3636
tag!("\x63") >>
37-
group_number: be_u16 >>
37+
conference_number: be_u16 >>
3838
peer_number: be_u16 >>
3939
message_number: be_u32 >>
4040
tag!("\x30") >>
41-
name: map_res!(verify!(rest, |name: &[u8]| name.len() <= MAX_NAME_LENGTH_IN_GROUP),
41+
name: map_res!(verify!(rest, |name: &[u8]| name.len() <= MAX_NAME_LENGTH_IN_CONFERENCE),
4242
str::from_utf8) >>
4343
(ChangeName {
44-
group_number,
44+
conference_number,
4545
peer_number,
4646
message_number,
4747
name: name.to_string(),
@@ -53,21 +53,21 @@ impl ToBytes for ChangeName {
5353
fn to_bytes<'a>(&self, buf: (&'a mut [u8], usize)) -> Result<(&'a mut [u8], usize), GenError> {
5454
do_gen!(buf,
5555
gen_be_u8!(0x63) >>
56-
gen_be_u16!(self.group_number) >>
56+
gen_be_u16!(self.conference_number) >>
5757
gen_be_u16!(self.peer_number) >>
5858
gen_be_u32!(self.message_number) >>
5959
gen_be_u8!(0x30) >>
60-
gen_cond!(self.name.len() > MAX_NAME_LENGTH_IN_GROUP, |buf| gen_error(buf, 0)) >>
60+
gen_cond!(self.name.len() > MAX_NAME_LENGTH_IN_CONFERENCE, |buf| gen_error(buf, 0)) >>
6161
gen_slice!(self.name.as_bytes())
6262
)
6363
}
6464
}
6565

6666
impl ChangeName {
6767
/// Create new ChangeName object.
68-
pub fn new(group_number: u16, peer_number: u16, message_number: u32, name: String) -> Self {
68+
pub fn new(conference_number: u16, peer_number: u16, message_number: u32, name: String) -> Self {
6969
ChangeName {
70-
group_number,
70+
conference_number,
7171
peer_number,
7272
message_number,
7373
name,
@@ -94,17 +94,17 @@ mod tests {
9494

9595
#[test]
9696
fn change_name_from_bytes_overflow() {
97-
let large_string = vec![32; MAX_NAME_LENGTH_IN_GROUP + 1];
97+
let large_string = vec![32; MAX_NAME_LENGTH_IN_CONFERENCE + 1];
9898
let mut buf = vec![0x63, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x30];
9999
buf.extend_from_slice(&large_string);
100100
assert!(ChangeName::from_bytes(&buf).is_err());
101101
}
102102

103103
#[test]
104104
fn change_name_to_bytes_overflow() {
105-
let large_string = String::from_utf8(vec![32u8; MAX_NAME_LENGTH_IN_GROUP + 1]).unwrap();
105+
let large_string = String::from_utf8(vec![32u8; MAX_NAME_LENGTH_IN_CONFERENCE + 1]).unwrap();
106106
let large_name = ChangeName::new(1,2, 3, large_string);
107-
let mut buf = [0; MAX_NAME_LENGTH_IN_GROUP + 1 + 2 + 2 + 4 + 1]; // packet id + group number + peer number + message number + message kind.
107+
let mut buf = [0; MAX_NAME_LENGTH_IN_CONFERENCE + 1 + 2 + 2 + 4 + 1]; // packet id + conference number + peer number + message number + message kind.
108108
assert!(large_name.to_bytes((&mut buf, 0)).is_err());
109109
}
110110
}

src/toxcore/messenger/packet/group/change_title.rs renamed to src/toxcore/messenger/conference/packet/change_title.rs

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,19 @@ use std::str;
55
use nom::{be_u16, be_u32, rest};
66

77
use crate::toxcore::binary_io::*;
8-
use super::MAX_NAME_LENGTH_IN_GROUP;
8+
use super::MAX_NAME_LENGTH_IN_CONFERENCE;
99

10-
/** ChangeTitle is the struct that holds info to change title of a group chat.
10+
/** ChangeTitle is the struct that holds info to change title of a conference.
1111
12-
Sent by anyone who is member of group.
13-
This packet is used to change the title of group chat.
12+
Sent by anyone who is member of conference.
13+
This packet is used to change the title of conference.
1414
1515
Serialized form:
1616
1717
Length | Content
1818
--------- | ------
1919
`1` | `0x63`
20-
`2` | `group number`
20+
`2` | `conference number`
2121
`2` | `peer number`
2222
`4` | `message number`
2323
`1` | `0x31`
@@ -26,7 +26,7 @@ variable | `title`(UTF-8 C String)
2626
*/
2727
#[derive(Clone, Debug, Eq, PartialEq)]
2828
pub struct ChangeTitle {
29-
group_number: u16,
29+
conference_number: u16,
3030
peer_number: u16,
3131
message_number: u32,
3232
title: String,
@@ -35,14 +35,14 @@ pub struct ChangeTitle {
3535
impl FromBytes for ChangeTitle {
3636
named!(from_bytes<ChangeTitle>, do_parse!(
3737
tag!("\x63") >>
38-
group_number: be_u16 >>
38+
conference_number: be_u16 >>
3939
peer_number: be_u16 >>
4040
message_number: be_u32 >>
4141
tag!("\x31") >>
42-
title: map_res!(verify!(rest, |title: &[u8]| title.len() <= MAX_NAME_LENGTH_IN_GROUP),
42+
title: map_res!(verify!(rest, |title: &[u8]| title.len() <= MAX_NAME_LENGTH_IN_CONFERENCE),
4343
str::from_utf8) >>
4444
(ChangeTitle {
45-
group_number,
45+
conference_number,
4646
peer_number,
4747
message_number,
4848
title: title.to_string(),
@@ -54,21 +54,21 @@ impl ToBytes for ChangeTitle {
5454
fn to_bytes<'a>(&self, buf: (&'a mut [u8], usize)) -> Result<(&'a mut [u8], usize), GenError> {
5555
do_gen!(buf,
5656
gen_be_u8!(0x63) >>
57-
gen_be_u16!(self.group_number) >>
57+
gen_be_u16!(self.conference_number) >>
5858
gen_be_u16!(self.peer_number) >>
5959
gen_be_u32!(self.message_number) >>
6060
gen_be_u8!(0x31) >>
61-
gen_cond!(self.title.len() > MAX_NAME_LENGTH_IN_GROUP, |buf| gen_error(buf, 0)) >>
61+
gen_cond!(self.title.len() > MAX_NAME_LENGTH_IN_CONFERENCE, |buf| gen_error(buf, 0)) >>
6262
gen_slice!(self.title.as_bytes())
6363
)
6464
}
6565
}
6666

6767
impl ChangeTitle {
6868
/// Create new ChangeTitle object.
69-
pub fn new(group_number: u16, peer_number: u16, message_number: u32, title: String) -> Self {
69+
pub fn new(conference_number: u16, peer_number: u16, message_number: u32, title: String) -> Self {
7070
ChangeTitle {
71-
group_number,
71+
conference_number,
7272
peer_number,
7373
message_number,
7474
title,
@@ -95,17 +95,17 @@ mod tests {
9595

9696
#[test]
9797
fn change_title_from_bytes_overflow() {
98-
let large_string = vec![32; MAX_NAME_LENGTH_IN_GROUP + 1];
98+
let large_string = vec![32; MAX_NAME_LENGTH_IN_CONFERENCE + 1];
9999
let mut buf = vec![0x63, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x31];
100100
buf.extend_from_slice(&large_string);
101101
assert!(ChangeTitle::from_bytes(&buf).is_err());
102102
}
103103

104104
#[test]
105105
fn change_title_to_bytes_overflow() {
106-
let large_string = String::from_utf8(vec![32u8; MAX_NAME_LENGTH_IN_GROUP + 1]).unwrap();
106+
let large_string = String::from_utf8(vec![32u8; MAX_NAME_LENGTH_IN_CONFERENCE + 1]).unwrap();
107107
let large_title = ChangeTitle::new(1,2, 3, large_string);
108-
let mut buf = [0; MAX_NAME_LENGTH_IN_GROUP + 1 + 2 + 2 + 4 + 1]; // packet id + group number + peer number + message number + message kind.
108+
let mut buf = [0; MAX_NAME_LENGTH_IN_CONFERENCE + 1 + 2 + 2 + 4 + 1]; // packet id + conference number + peer number + message number + message kind.
109109
assert!(large_title.to_bytes((&mut buf, 0)).is_err());
110110
}
111111
}

src/toxcore/messenger/packet/group/group_action.rs renamed to src/toxcore/messenger/conference/packet/conference_action.rs

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,59 +1,59 @@
1-
/*! Group action action struct.
1+
/*! Conference action action struct.
22
*/
33

44
use std::str;
55
use nom::{be_u16, be_u32, rest};
66

77
use crate::toxcore::binary_io::*;
88

9-
/** GroupAction is the struct that holds info to send action to a group chat.
9+
/** ConferenceAction is the struct that holds info to send action to a conference.
1010
11-
Sent to notify action to all member of group chat.
11+
Sent to notify action to all member of conference.
1212
1313
Serialized form:
1414
1515
Length | Content
1616
--------- | ------
1717
`1` | `0x63`
18-
`2` | `group number`
18+
`2` | `conference number`
1919
`2` | `peer number`
2020
`4` | `action number`
2121
`1` | `0x41`
2222
variable | `action`(UTF-8 C String)
2323
2424
*/
2525
#[derive(Clone, Debug, Eq, PartialEq)]
26-
pub struct GroupAction {
27-
group_number: u16,
26+
pub struct ConferenceAction {
27+
conference_number: u16,
2828
peer_number: u16,
2929
message_number: u32,
3030
/// Maximum length of action is the limit of NetCrypto packet.
3131
/// Do not check the length here.
3232
action: String,
3333
}
3434

35-
impl FromBytes for GroupAction {
36-
named!(from_bytes<GroupAction>, do_parse!(
35+
impl FromBytes for ConferenceAction {
36+
named!(from_bytes<ConferenceAction>, do_parse!(
3737
tag!("\x63") >>
38-
group_number: be_u16 >>
38+
conference_number: be_u16 >>
3939
peer_number: be_u16 >>
4040
message_number: be_u32 >>
4141
tag!("\x41") >>
4242
action: map_res!(rest, str::from_utf8) >>
43-
(GroupAction {
44-
group_number,
43+
(ConferenceAction {
44+
conference_number,
4545
peer_number,
4646
message_number,
4747
action: action.to_string(),
4848
})
4949
));
5050
}
5151

52-
impl ToBytes for GroupAction {
52+
impl ToBytes for ConferenceAction {
5353
fn to_bytes<'a>(&self, buf: (&'a mut [u8], usize)) -> Result<(&'a mut [u8], usize), GenError> {
5454
do_gen!(buf,
5555
gen_be_u8!(0x63) >>
56-
gen_be_u16!(self.group_number) >>
56+
gen_be_u16!(self.conference_number) >>
5757
gen_be_u16!(self.peer_number) >>
5858
gen_be_u32!(self.message_number) >>
5959
gen_be_u8!(0x41) >>
@@ -62,11 +62,11 @@ impl ToBytes for GroupAction {
6262
}
6363
}
6464

65-
impl GroupAction {
66-
/// Create new GroupAction object.
67-
pub fn new(group_number: u16, peer_number: u16, message_number: u32, action: String) -> Self {
68-
GroupAction {
69-
group_number,
65+
impl ConferenceAction {
66+
/// Create new ConferenceAction object.
67+
pub fn new(conference_number: u16, peer_number: u16, message_number: u32, action: String) -> Self {
68+
ConferenceAction {
69+
conference_number,
7070
peer_number,
7171
message_number,
7272
action,
@@ -79,15 +79,15 @@ mod tests {
7979
use super::*;
8080

8181
encode_decode_test!(
82-
group_action_encode_decode,
83-
GroupAction::new(1, 2, 3, "1234".to_owned())
82+
conference_action_encode_decode,
83+
ConferenceAction::new(1, 2, 3, "1234".to_owned())
8484
);
8585

8686
#[test]
87-
fn group_action_from_bytes_encoding_error() {
87+
fn conference_action_from_bytes_encoding_error() {
8888
let err_string = vec![0, 159, 146, 150]; // not UTF8 bytes.
8989
let mut buf = vec![0x63, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x41];
9090
buf.extend_from_slice(&err_string);
91-
assert!(GroupAction::from_bytes(&buf).is_err());
91+
assert!(ConferenceAction::from_bytes(&buf).is_err());
9292
}
9393
}

0 commit comments

Comments
 (0)