aboutsummaryrefslogtreecommitdiff
path: root/src/message/handshake/protocol.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/message/handshake/protocol.rs')
-rw-r--r--src/message/handshake/protocol.rs36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/message/handshake/protocol.rs b/src/message/handshake/protocol.rs
new file mode 100644
index 0000000..d020f33
--- /dev/null
+++ b/src/message/handshake/protocol.rs
@@ -0,0 +1,36 @@
+use crate::Deserialize;
+use crate::Serialize;
+
+pub enum Protocol {
+ Legacy = 0x00000001,
+ Datastream = 0x00000002,
+}
+
+impl Protocol {
+ pub fn new() -> Self {
+ Protocol::Datastream
+ }
+
+ pub fn serialize(self) -> Vec<u8> {
+ let proto: u32 = 0x80000002;
+
+ proto.serialize().unwrap()
+ }
+
+ pub fn parse(buf: &[u8]) -> Self {
+ let mut protolist: Vec<u32> = Vec::new();
+ let mut pos = 0;
+ loop {
+ let (_, proto) = u32::parse(&buf[pos..(pos + 4)]).unwrap();
+ if (proto & 0x80000000) >= 1 {
+ protolist.push(proto - 0x80000000);
+ break;
+ } else {
+ protolist.push(proto);
+ pos += 4;
+ }
+ }
+
+ Protocol::Datastream
+ }
+}
/+6 2025-05-06remove too commonly used used for shifty_eyesMax Audron-1/+1 2025-05-06fix truncate on unicodeMax Audron-10/+20 2025-05-06update dependenciesMax Audron-691/+1659 2024-08-12add nix build and moduleMax Audron-5/+427 2022-02-19remove jsonnet lock fileMax Audron-36/+0 2022-02-19fix deploy to work with gitlab agentMax Audron-4/+4 2021-10-22write tons of documentation and reorganize some modulesMax Audron-65/+300 2021-10-22remove wolfram alpha url shorteningMax Audron-1/+2 2021-10-20remove failing wolfram alpha test casesMax Audron-105/+55 2021-10-20bump version to 1.6.2Max Audron-3/+2 2021-10-20prepare for release on crates.ioMax Audron-39/+65 2021-10-20add async docs to macro crate and bump versionMax Audron-9/+10 2021-10-20change hook errors to be logged as warningsMax Audron-3/+3 2021-10-20fix configuration not loading correctly on release buildsMax Audron-8/+23 2021-10-19replace sedregex crate8-rework-sedMax Audron-20/+358 2021-10-19add formatting trait for irc codesMax Audron-0/+129 2021-10-17fix links in readmeMax Audron-2/+2