pub trait MergeCloseSeal<Seal>: SealProtocol<Seal> {
    // Required methods
    fn merge_close_seal(
        &mut self,
        seal: &Seal,
        over: &Self::Message,
        witness_proto: Self::Witness
    ) -> Result<Self::Witness, Self::Error>;
    fn merge_close_all_seals<'seal>(
        &mut self,
        seals: impl IntoIterator<Item = &'seal Seal>,
        over: &Self::Message
    ) -> Result<Self::Witness, Self::Error>
       where Seal: 'seal;
}
Expand description

Adds support to SealProtocol for merging seal close operation into an existing witness data (closing some other seals).

Required Methods§

source

fn merge_close_seal( &mut self, seal: &Seal, over: &Self::Message, witness_proto: Self::Witness ) -> Result<Self::Witness, Self::Error>

Closes seal over a message, adding witness to some existing witness container.

NB: Closing of the seal MUST not change the internal state of the seal itself; all the data produced by the process must be placed into the returned Witness type.

The witness is not published by this method to the seal medium.

source

fn merge_close_all_seals<'seal>( &mut self, seals: impl IntoIterator<Item = &'seal Seal>, over: &Self::Message ) -> Result<Self::Witness, Self::Error>
where Seal: 'seal,

Closes number of related seals over the same message, adding witness to some existing witness container.

NB: Closing of the seal MUST not change the internal state of the seal itself; all the data produced by the process must be placed into the returned Witness type.

The witness is not published by this method to the seal medium.

Object Safety§

This trait is not object safe.

Implementors§