tlsn_core/fixtures/
provider.rs1use crate::transcript::{
2 encoding::{new_encoder, Encoder, EncoderSecret, EncodingProvider},
3 Direction, Idx, Transcript,
4};
5
6pub struct FixtureEncodingProvider {
8 encoder: Box<dyn Encoder>,
9 transcript: Transcript,
10}
11
12impl FixtureEncodingProvider {
13 pub(crate) fn new(secret: &EncoderSecret, transcript: Transcript) -> Self {
15 Self {
16 encoder: Box::new(new_encoder(secret)),
17 transcript,
18 }
19 }
20}
21
22impl EncodingProvider for FixtureEncodingProvider {
23 fn provide_encoding(&self, direction: Direction, idx: &Idx) -> Option<Vec<u8>> {
24 let seq = self.transcript.get(direction, idx)?;
25 Some(self.encoder.encode_subsequence(direction, &seq))
26 }
27}