[][src]Struct krill::pubd::PubServer

pub struct PubServer { /* fields omitted */ }

The Publication Server.

This component is responsible for:

  • managing allowed publishers
  • verifying requests from remote RFC8183 publishers
  • verifying requests from local (embedded) publishers
  • updating the RRDP server with any deltas
  • updating the contents on disk for Rsync
  • responding to publishers
  • wrapping responses in RFC8183 for remote publishers

Implementations

impl PubServer[src]

pub fn remove_if_empty(
    rsync_base: &Rsync,
    rrdp_base_uri: Https,
    work_dir: &PathBuf,
    rfc8181_log_dir: Option<&PathBuf>,
    signer: Arc<RwLock<OpenSslSigner>>
) -> Result<Option<Self>, Error>
[src]

pub fn build(
    rsync_base: &Rsync,
    rrdp_base_uri: Https,
    work_dir: &PathBuf,
    rfc8181_log_dir: Option<&PathBuf>,
    signer: Arc<RwLock<OpenSslSigner>>
) -> Result<Self, Error>
[src]

impl PubServer[src]

pub fn rfc8181(
    &self,
    publisher_handle: PublisherHandle,
    msg_bytes: Bytes
) -> KrillResult<Bytes>
[src]

Handle an RFC8181 request and sign the response

pub fn publish(
    &self,
    publisher: PublisherHandle,
    delta: PublishDelta
) -> KrillResult<()>
[src]

Let a known publisher publish in a repository.

pub fn repo_stats(&self) -> KrillResult<RepoStats>[src]

pub fn publishers(&self) -> KrillResult<Vec<PublisherHandle>>[src]

pub fn list(&self, publisher: &PublisherHandle) -> KrillResult<ListReply>[src]

Returns a list reply for a known publisher in a repository

impl PubServer[src]

pub fn repo_info_for(
    &self,
    publisher: &PublisherHandle
) -> KrillResult<RepoInfo>
[src]

pub fn get_publisher_details(
    &self,
    publisher_handle: &PublisherHandle
) -> KrillResult<PublisherDetails>
[src]

pub fn repository_response(
    &self,
    rfc8181_uri: Https,
    publisher: &PublisherHandle
) -> KrillResult<RepositoryResponse>
[src]

Returns the RFC8183 Repository Response for the publisher

pub fn create_publisher(&self, req: PublisherRequest) -> KrillResult<()>[src]

Adds a publisher. Will complain if a publisher already exists for this handle. Will also verify that the base_uri is allowed.

pub fn remove_publisher(&self, publisher: PublisherHandle) -> KrillResult<()>[src]

Deactivates a publisher. For now this is irreversible, but we may add re-activation in future. Reason is that we never forget the history of the old publisher, and if handles are re-used by different entities that would get confusing.

impl PubServer[src]

pub fn write_repository(&self) -> KrillResult<()>[src]

Update the RRDP files and rsync content on disk.

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.