@@ -1,19 +1,19 @@
|
||||
use criterion::{criterion_group, criterion_main, Criterion};
|
||||
use crunch_envelope::{unwrap, wrap};
|
||||
|
||||
fn envelope_capnp_benchmark(content: &[u8]) -> () {
|
||||
fn envelope_capnp_benchmark(content: &[u8]) {
|
||||
let out = wrap("some-domain", "some-entity", content);
|
||||
|
||||
let _ = unwrap(&out).expect("to be able to unwrap capnp message");
|
||||
}
|
||||
|
||||
fn envelope_json_benchmark(content: &[u8]) -> () {
|
||||
fn envelope_json_benchmark(content: &[u8]) {
|
||||
let out = crunch_envelope::json::wrap("some-domain", "some-entity", content);
|
||||
|
||||
let _ = crunch_envelope::json::unwrap(&out).expect("to be able to unwrap capnp message");
|
||||
}
|
||||
|
||||
fn envelope_proto_benchmark(content: &[u8]) -> () {
|
||||
fn envelope_proto_benchmark(content: &[u8]) {
|
||||
let out = crunch_envelope::proto::wrap("some-domain", "some-entity", content);
|
||||
|
||||
let _ = crunch_envelope::proto::unwrap(&out).expect("to be able to unwrap capnp message");
|
||||
|
@@ -16,18 +16,18 @@ pub struct Metadata {
|
||||
}
|
||||
|
||||
pub fn wrap<'a>(domain: &'a str, entity: &'a str, content: &'a [u8]) -> Vec<u8> {
|
||||
let output = serde_json::to_vec(&Envelope {
|
||||
|
||||
|
||||
serde_json::to_vec(&Envelope {
|
||||
content: general_purpose::URL_SAFE_NO_PAD.encode(content),
|
||||
metadata: Metadata {
|
||||
domain: domain.to_string(),
|
||||
entity: entity.to_string(),
|
||||
},
|
||||
})
|
||||
.unwrap();
|
||||
|
||||
output
|
||||
.unwrap()
|
||||
}
|
||||
pub fn unwrap<'a>(message: &'a [u8]) -> Result<(Vec<u8>, Metadata), EnvelopeError> {
|
||||
pub fn unwrap(message: &[u8]) -> Result<(Vec<u8>, Metadata), EnvelopeError> {
|
||||
let envelope: Envelope = serde_json::from_slice(message).map_err(EnvelopeError::JsonError)?;
|
||||
|
||||
Ok((
|
||||
|
@@ -47,9 +47,9 @@ pub fn wrap<'a>(domain: &'a str, entity: &'a str, content: &'a [u8]) -> Vec<u8>
|
||||
metadata.set_domain(domain);
|
||||
metadata.set_entity(entity);
|
||||
|
||||
let output = serialize::write_message_to_words(&builder);
|
||||
|
||||
|
||||
return output;
|
||||
serialize::write_message_to_words(&builder)
|
||||
}
|
||||
|
||||
#[allow(dead_code)]
|
||||
@@ -59,7 +59,7 @@ pub struct Metadata {
|
||||
entity: String,
|
||||
}
|
||||
|
||||
pub fn unwrap<'a>(message: &'a [u8]) -> Result<(Vec<u8>, Metadata), EnvelopeError> {
|
||||
pub fn unwrap(message: &[u8]) -> Result<(Vec<u8>, Metadata), EnvelopeError> {
|
||||
let mut message = message;
|
||||
let message_builder =
|
||||
serialize::read_message_from_flat_slice(&mut message, ReaderOptions::new())
|
||||
|
@@ -17,7 +17,7 @@ pub fn wrap<'a>(domain: &'a str, entity: &'a str, content: &'a [u8]) -> Vec<u8>
|
||||
out.encode_to_vec()
|
||||
}
|
||||
|
||||
pub fn unwrap<'a>(message: &'a [u8]) -> Result<(Vec<u8>, Metadata), EnvelopeError> {
|
||||
pub fn unwrap(message: &[u8]) -> Result<(Vec<u8>, Metadata), EnvelopeError> {
|
||||
let out = Envelope::decode(message).map_err(EnvelopeError::ProtoError)?;
|
||||
|
||||
Ok((
|
||||
|
Reference in New Issue
Block a user