From b298fe7924c3ba7405fced64603b0bb10389d55b Mon Sep 17 00:00:00 2001 From: joinu14 Date: Tue, 8 Mar 2022 17:11:26 +0300 Subject: [PATCH 1/3] make encoding functions public --- rust/candid/src/ser.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/rust/candid/src/ser.rs b/rust/candid/src/ser.rs index 78de346d4..217e32975 100644 --- a/rust/candid/src/ser.rs +++ b/rust/candid/src/ser.rs @@ -83,11 +83,11 @@ impl ValueSerializer { pub fn get_result(&self) -> &[u8] { &self.value } - fn write_leb128(&mut self, value: u64) -> Result<()> { + pub fn write_leb128(&mut self, value: u64) -> Result<()> { leb128_encode(&mut self.value, value)?; Ok(()) } - fn write(&mut self, bytes: &[u8]) -> Result<()> { + pub fn write(&mut self, bytes: &[u8]) -> Result<()> { use std::io::Write; self.value.write_all(bytes)?; Ok(()) @@ -336,7 +336,7 @@ impl TypeSerialize { Ok(()) } - fn push_type(&mut self, t: &Type) -> Result<()> { + pub fn push_type(&mut self, t: &Type) -> Result<()> { self.args.push(t.clone()); self.build_type(t) } @@ -394,7 +394,7 @@ impl TypeSerialize { Ok(()) } - fn serialize(&mut self) -> Result<()> { + pub fn serialize(&mut self) -> Result<()> { leb128_encode(&mut self.result, self.type_table.len() as u64)?; self.result.append(&mut self.type_table.concat()); From 02cb6897e17e4bfc8c19819eeec08018457fce77 Mon Sep 17 00:00:00 2001 From: joinu14 Date: Thu, 10 Mar 2022 21:54:32 +0300 Subject: [PATCH 2/3] hide internal APIs from docs --- rust/candid/src/ser.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/rust/candid/src/ser.rs b/rust/candid/src/ser.rs index 217e32975..8890163cb 100644 --- a/rust/candid/src/ser.rs +++ b/rust/candid/src/ser.rs @@ -83,10 +83,14 @@ impl ValueSerializer { pub fn get_result(&self) -> &[u8] { &self.value } + + #[doc(hidden)] pub fn write_leb128(&mut self, value: u64) -> Result<()> { leb128_encode(&mut self.value, value)?; Ok(()) } + + #[doc(hidden)] pub fn write(&mut self, bytes: &[u8]) -> Result<()> { use std::io::Write; self.value.write_all(bytes)?; @@ -336,6 +340,7 @@ impl TypeSerialize { Ok(()) } + #[doc(hidden)] pub fn push_type(&mut self, t: &Type) -> Result<()> { self.args.push(t.clone()); self.build_type(t) @@ -394,6 +399,7 @@ impl TypeSerialize { Ok(()) } + #[doc(hidden)] pub fn serialize(&mut self) -> Result<()> { leb128_encode(&mut self.result, self.type_table.len() as u64)?; self.result.append(&mut self.type_table.concat()); From 1a621b6ea6977a4dd29dd187cdd98035c45c9bb5 Mon Sep 17 00:00:00 2001 From: joinu14 Date: Thu, 10 Mar 2022 22:02:51 +0300 Subject: [PATCH 3/3] fmt fix --- rust/candid/src/ser.rs | 5 ----- 1 file changed, 5 deletions(-) diff --git a/rust/candid/src/ser.rs b/rust/candid/src/ser.rs index 8890163cb..80b9b8c49 100644 --- a/rust/candid/src/ser.rs +++ b/rust/candid/src/ser.rs @@ -83,13 +83,11 @@ impl ValueSerializer { pub fn get_result(&self) -> &[u8] { &self.value } - #[doc(hidden)] pub fn write_leb128(&mut self, value: u64) -> Result<()> { leb128_encode(&mut self.value, value)?; Ok(()) } - #[doc(hidden)] pub fn write(&mut self, bytes: &[u8]) -> Result<()> { use std::io::Write; @@ -339,13 +337,11 @@ impl TypeSerialize { self.type_table[idx] = buf; Ok(()) } - #[doc(hidden)] pub fn push_type(&mut self, t: &Type) -> Result<()> { self.args.push(t.clone()); self.build_type(t) } - fn encode(&self, buf: &mut Vec, t: &Type) -> Result<()> { if let Type::Var(id) = t { let actual_type = self.env.rec_find_type(id)?; @@ -398,7 +394,6 @@ impl TypeSerialize { }?; Ok(()) } - #[doc(hidden)] pub fn serialize(&mut self) -> Result<()> { leb128_encode(&mut self.result, self.type_table.len() as u64)?;