Trait wow_srp::header_crypto::Decrypter [−][src]
pub trait Decrypter { fn decrypt(&mut self, data: &mut [u8]); fn read_and_decrypt_server_header<R: Read>(
&mut self,
reader: &mut R
) -> Result<ServerHeader> { ... } fn read_and_decrypt_client_header<R: Read>(
&mut self,
reader: &mut R
) -> Result<ClientHeader> { ... } fn decrypt_server_header(&mut self, data: [u8; 4]) -> ServerHeader { ... } fn decrypt_client_header(&mut self, data: [u8; 6]) -> ClientHeader { ... } }
Expand description
The Decrypter
trait allows for decrypting world packet headers.
Only the Decrypter::decrypt
method is required to be implemented, the rest
are provided as convenience wrappers around it.
The are no async
convenience methods because it can be trivially implemented by
the user, and it would be tedious to support all the different runtimes.
If in doubt look at the source for the Read
versions.
Required methods
Provided methods
fn read_and_decrypt_server_header<R: Read>(
&mut self,
reader: &mut R
) -> Result<ServerHeader>
fn read_and_decrypt_server_header<R: Read>(
&mut self,
reader: &mut R
) -> Result<ServerHeader>
Read
wrapper for Decrypter::decrypt_server_header
.
Errors
Has the same errors as std::io::Read::read_exact
.
fn read_and_decrypt_client_header<R: Read>(
&mut self,
reader: &mut R
) -> Result<ClientHeader>
fn read_and_decrypt_client_header<R: Read>(
&mut self,
reader: &mut R
) -> Result<ClientHeader>
Read
wrapper for Decrypter::decrypt_client_header
.
Errors
Has the same errors as std::io::Read::read_exact
.
fn decrypt_server_header(&mut self, data: [u8; 4]) -> ServerHeader
fn decrypt_server_header(&mut self, data: [u8; 4]) -> ServerHeader
Convenience function for decrypting server headers.
Prefer this over directly using Decrypter::decrypt
.
fn decrypt_client_header(&mut self, data: [u8; 6]) -> ClientHeader
fn decrypt_client_header(&mut self, data: [u8; 6]) -> ClientHeader
Convenience function for decrypting client headers.
Prefer this over directly using Decrypter::decrypt
.