[−][src]Struct internet2::NoiseTranscoder
Returned after a successful handshake to encrypt and decrypt communication
with peer nodes. It should not normally be manually instantiated.
Automatically handles key rotation.
For decryption, it is recommended to call decrypt_message_stream
for
automatic buffering.
Fields
encryptor: NoiseEncryptor
decryptor: NoiseDecryptor
Implementations
impl NoiseTranscoder
[src]
pub fn new(
sending_key: [u8; 32],
receiving_key: [u8; 32],
chaining_key: [u8; 32]
) -> Self
[src]
sending_key: [u8; 32],
receiving_key: [u8; 32],
chaining_key: [u8; 32]
) -> Self
Instantiate a new Conduit with specified sending and receiving keys
pub fn encrypt_buf(&mut self, buffer: &[u8]) -> Result<Vec<u8>, Error>
[src]
Encrypt data to be sent to peer
pub fn read_buf(&mut self, data: &[u8])
[src]
pub fn decrypt_single_message(
&mut self,
new_data: Option<&[u8]>
) -> Result<Option<Vec<u8>>, Error>
[src]
&mut self,
new_data: Option<&[u8]>
) -> Result<Option<Vec<u8>>, Error>
Decrypt a single message. If data containing more than one message has been received, only the first message will be returned, and the rest stored in the internal buffer. If a message pending in the buffer still hasn't been decrypted, that message will be returned in lieu of anything new, even if new data is provided.
Trait Implementations
impl Bipolar for NoiseTranscoder
[src]
type Left = Self::Encryptor
First separable type (like reader)
type Right = Self::Decryptor
Second separable type (like writer)
pub fn join(encryptor: Self::Left, decryptor: Self::Right) -> Self
[src]
pub fn split(self) -> (Self::Left, Self::Right)
[src]
impl Decrypt for NoiseTranscoder
[src]
type Error = HandshakeError
pub fn decrypt(
&mut self,
buffer: impl Borrow<[u8]>
) -> Result<Vec<u8>, Self::Error>
[src]
&mut self,
buffer: impl Borrow<[u8]>
) -> Result<Vec<u8>, Self::Error>
impl Encrypt for NoiseTranscoder
[src]
impl Transcode for NoiseTranscoder
[src]
type Encryptor = NoiseEncryptor
type Decryptor = NoiseDecryptor
Auto Trait Implementations
impl RefUnwindSafe for NoiseTranscoder
[src]
impl Send for NoiseTranscoder
[src]
impl Sync for NoiseTranscoder
[src]
impl Unpin for NoiseTranscoder
[src]
impl UnwindSafe for NoiseTranscoder
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,