Skip to main content

FileSource

Trait FileSource 

Source
pub trait FileSource:
    Send
    + Sync
    + 'static {
    // Required methods
    fn can_request(&self, request: &ResourceRequest) -> bool;
    fn request(
        &self,
        request: ResourceRequest,
        responder: Responder,
    ) -> RequestHandle;

    // Provided method
    fn forward(
        &self,
        request: ResourceRequest,
        response: Response,
        completion: ForwardCompletion,
    ) { ... }
}
Expand description

A custom resource provider registered for one FileSourceType.

Required Methods§

Source

fn can_request(&self, request: &ResourceRequest) -> bool

Whether this source can serve request.

Source

fn request( &self, request: ResourceRequest, responder: Responder, ) -> RequestHandle

Begin serving request.

Deliver the Response through responder — inline, or later from another thread. Return RequestHandle::Done when completed inline, or RequestHandle::pending with a cancel hook while work is in flight.

Provided Methods§

Source

fn forward( &self, request: ResourceRequest, response: Response, completion: ForwardCompletion, )

Store response for request (cache write).

You only need to implement this when this source is registered as FileSourceType::Database. MapLibre Native calls this on database sources to forward responses fetched from another source into the cache. completion when the write is done. The default ignores writes and completes immediately.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§