Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit be24b415 authored by Zach Johnson's avatar Zach Johnson
Browse files

rusty-gd: improve ergonomics of converting packets to vectors

Bug: 171749953
Tag: #gd-refactor
Test: gd/cert/run --rhost SimpleHalTest
Change-Id: I51b88fc9513475ab0e25b41ce5bb40b7934e9692
parent 6f5475bf
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -960,6 +960,8 @@ void PacketDef::GenRustAccessStructImpls(std::ostream& s) const {
  s << " buffer.freeze()";
  s << "}\n";

  s << "pub fn to_vec(self) -> Vec<u8> { self.to_bytes().to_vec() }\n";

  if (!children_.empty()) {
    s << " pub fn specialize(&self) -> " << name_ << "Child {";
    s << " match &self." << util::CamelCaseToUnderScore(name_) << ".child {";
+2 −2
Original line number Diff line number Diff line
@@ -82,7 +82,7 @@ impl HciHalFacade for HciHalFacadeService {
        self.rt.spawn(async move {
            while let Some(event) = evt_rx.lock().await.recv().await {
                let mut output = Data::default();
                output.set_payload(event.to_bytes().to_vec());
                output.set_payload(event.to_vec());
                sink.send((output, WriteFlags::default())).await.unwrap();
            }
        });
@@ -93,7 +93,7 @@ impl HciHalFacade for HciHalFacadeService {
        self.rt.spawn(async move {
            while let Some(acl) = acl_rx.lock().await.recv().await {
                let mut output = Data::default();
                output.set_payload(acl.to_bytes().to_vec());
                output.set_payload(acl.to_vec());
                sink.send((output, WriteFlags::default())).await.unwrap();
            }
        });
+2 −2
Original line number Diff line number Diff line
@@ -112,7 +112,7 @@ impl HciLayerFacade for HciLayerFacadeService {
        self.rt.spawn(async move {
            while let Some(event) = evt_rx.lock().await.recv().await {
                let mut evt = Data::default();
                evt.set_payload(event.to_bytes().to_vec());
                evt.set_payload(event.to_vec());
                resp.send((evt, WriteFlags::default())).await.unwrap();
            }
        });
@@ -138,7 +138,7 @@ impl HciLayerFacade for HciLayerFacadeService {
        self.rt.spawn(async move {
            while let Some(data) = acl_rx.lock().await.recv().await {
                let mut packet = Data::default();
                packet.set_payload(data.to_bytes().to_vec());
                packet.set_payload(data.to_vec());
                resp.send((packet, WriteFlags::default())).await.unwrap();
            }
        });