All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.joeyb.undercarriage.grpc.GrpcApplication Maven / Gradle / Ivy

package org.joeyb.undercarriage.grpc;

import io.grpc.Server;
import io.grpc.ServerInterceptor;
import io.grpc.ServerServiceDefinition;

import org.joeyb.undercarriage.core.Application;
import org.joeyb.undercarriage.grpc.config.GrpcConfigSection;

/**
 * {@code GrpcApplication} is the base interface for all gRPC-based applications. It defines the gRPC-specific
 * application lifecycle phases and provides access to the underlying gRPC {@link Server} instance.
 *
 * @param  the app's config type
 */
public interface GrpcApplication extends Application {

    int port();

    Server server();

    Iterable serverServiceDefinitions();

    Iterable serverServiceDefinitionsWithInterceptors();

    Iterable serverInterceptors();
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy