PublishBuildEvent

Trait PublishBuildEvent 

Source
pub trait PublishBuildEvent:
    Send
    + Sync
    + 'static {
    type PublishBuildToolEventStreamStream: Stream<Item = Result<PublishBuildToolEventStreamResponse, Status>> + Send + 'static;

    // Required methods
    fn publish_lifecycle_event<'life0, 'async_trait>(
        &'life0 self,
        request: Request<PublishLifecycleEventRequest>,
    ) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn publish_build_tool_event_stream<'life0, 'async_trait>(
        &'life0 self,
        request: Request<Streaming<PublishBuildToolEventStreamRequest>>,
    ) -> Pin<Box<dyn Future<Output = Result<Response<Self::PublishBuildToolEventStreamStream>, Status>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
}
Available on crate feature server only.
Expand description

Generated trait containing gRPC methods that should be implemented for use with PublishBuildEventServer.

Required Associated Types§

Source

type PublishBuildToolEventStreamStream: Stream<Item = Result<PublishBuildToolEventStreamResponse, Status>> + Send + 'static

Server streaming response type for the PublishBuildToolEventStream method.

Required Methods§

Source

fn publish_lifecycle_event<'life0, 'async_trait>( &'life0 self, request: Request<PublishLifecycleEventRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Publish a build event stating the new state of a build (typically from the build queue). The BuildEnqueued event must be publishd before all other events for the same build ID.

The backend will persist the event and deliver it to registered frontend jobs immediately without batching.

The commit status of the request is reported by the RPC’s util_status() function. The error code is the canoncial error code defined in //util/task/codes.proto.

Source

fn publish_build_tool_event_stream<'life0, 'async_trait>( &'life0 self, request: Request<Streaming<PublishBuildToolEventStreamRequest>>, ) -> Pin<Box<dyn Future<Output = Result<Response<Self::PublishBuildToolEventStreamStream>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Publish build tool events belonging to the same stream to a backend job using bidirectional streaming.

Implementors§