aura_agent/runtime/effects/
noise.rs1use crate::runtime::AuraEffectSystem;
6use async_trait::async_trait;
7use aura_core::effects::noise::{
8 HandshakeState, NoiseEffects, NoiseError, NoiseParams, TransportState,
9};
10use aura_effects::noise::RealNoiseHandler;
11
12#[async_trait]
13impl NoiseEffects for AuraEffectSystem {
14 async fn create_handshake_state(
15 &self,
16 params: NoiseParams,
17 ) -> Result<HandshakeState, NoiseError> {
18 RealNoiseHandler::new().create_handshake_state(params).await
19 }
20
21 async fn write_message(
22 &self,
23 state: HandshakeState,
24 payload: &[u8],
25 ) -> Result<(Vec<u8>, HandshakeState), NoiseError> {
26 RealNoiseHandler::new().write_message(state, payload).await
27 }
28
29 async fn read_message(
30 &self,
31 state: HandshakeState,
32 message: &[u8],
33 ) -> Result<(Vec<u8>, HandshakeState), NoiseError> {
34 RealNoiseHandler::new().read_message(state, message).await
35 }
36
37 async fn into_transport_mode(
38 &self,
39 state: HandshakeState,
40 ) -> Result<TransportState, NoiseError> {
41 RealNoiseHandler::new().into_transport_mode(state).await
42 }
43
44 async fn encrypt_transport_message(
45 &self,
46 state: &mut TransportState,
47 payload: &[u8],
48 ) -> Result<Vec<u8>, NoiseError> {
49 RealNoiseHandler::new()
50 .encrypt_transport_message(state, payload)
51 .await
52 }
53
54 async fn decrypt_transport_message(
55 &self,
56 state: &mut TransportState,
57 message: &[u8],
58 ) -> Result<Vec<u8>, NoiseError> {
59 RealNoiseHandler::new()
60 .decrypt_transport_message(state, message)
61 .await
62 }
63}