pub struct CAPermissionedGroup<P: Peer> { /* private fields */ }
Implementations§
Source§impl<P: Peer> CAPermissionedGroup<P>
impl<P: Peer> CAPermissionedGroup<P>
pub fn new( id: GroupId, my_pk: P::PublicKey, my_prove: P::Signature, ca: P::PublicKey, ) -> Self
pub fn new_with_name( id: GroupId, my_pk: P::PublicKey, my_prove: P::Signature, ca: P::PublicKey, my_name: impl ToString, ) -> Self
pub fn peers(&self) -> Vec<&PeerAddr>
pub fn get_peer_addr(&self, name: &String) -> Option<&PeerAddr>
Sourcepub fn add(
&mut self,
peer_addr: PeerAddr,
pk: P::PublicKey,
sign: P::Signature,
addr: SocketAddr,
)
pub fn add( &mut self, peer_addr: PeerAddr, pk: P::PublicKey, sign: P::Signature, addr: SocketAddr, )
directly add a peer to group.
pub fn join_bytes(&self) -> Vec<u8>
pub fn sign_prove( sk: &P::SecretKey, pk: &P::PublicKey, ) -> Result<P::Signature, Box<dyn Error>>
Sourcepub async fn join(
&mut self,
peer_addr: PeerAddr,
addr: SocketAddr,
join_bytes: Vec<u8>,
return_sender: Sender<SendMessage>,
)
pub async fn join( &mut self, peer_addr: PeerAddr, addr: SocketAddr, join_bytes: Vec<u8>, return_sender: Sender<SendMessage>, )
join: when peer join will call
pub fn join_result( &mut self, peer_addr: PeerAddr, is_ok: bool, _join_result: Vec<u8>, )
Trait Implementations§
Auto Trait Implementations§
impl<P> Freeze for CAPermissionedGroup<P>
impl<P> RefUnwindSafe for CAPermissionedGroup<P>
impl<P> Send for CAPermissionedGroup<P>
impl<P> Sync for CAPermissionedGroup<P>
impl<P> Unpin for CAPermissionedGroup<P>
impl<P> UnwindSafe for CAPermissionedGroup<P>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more