# Functions

MustBeAddCommand expects the next command from the client to be an ADD command.
MustBeCopyCommand expects the next command from the client to be a COPY command.
MustBeRunCommand expects the next command from the client to be a RUN command.
MustPutTestResource writes a test resource with a content under path.
MustReadFromReader attempts reading from an input reader regardless of prior errors.
MustReadResources reads the resource from the client under the given path and compares the data with expected value.
MustStartTestGRPCServer starts a test server and returns a client, a server and a server cleanup function.
New returns a new instance of the server.
NewClient returns a new default client provider implementation.
NewGRPCDirectoryResource creates a resolved walkable gRPC directory resource.
NewTestServer starts a new test server provider.

# Constants

DefaultGracefulStopTimeoutMillis is the default graceful shutdown wait time.
DefaultMaxRecvMsgSize is the default max recv msg size for the GRPC server.
DefaultServerName is the default ServerName.

# Structs

ClientMsgAborted is emitted by the server when the client aborts with an error.
ClientMsgStderr is emitted by the server when the client sends stderr contents.
ClientMsgStdout is emitted by the server when the client sends stdout contents.
ClientMsgSuccess is emitted by the server when the client finishes successfully.
ControlMsgCommandsRequested is emitted by the server when the client requests the commands.
ControlMsgPingSent is emitted by the server when the client sends a ping request.
GRPCClientConfig is the client configuration.
GRPCServiceConfig contains the configuration for the GRPC server.
WorkContext contains the information for the bootstrap work to execute.

# Interfaces

ClientProvider defines a GRPC client behaviour.
EventProvider provides the event subsriptions to the server executor.
GRPCReadingDirectoryResource identifies a gRPC walkable directory resource.
ServerProvider defines a GRPC server behaviour.
TestServer wraps an instance of a server and provides testing utilities around it.

# Type aliases

Resources is a map of resolved resources the server handles for the client.