// Package backend includes types to send information to server backends. // TODO(calavera): This package is pending of extraction to engine-api // when the server package is clean of daemon dependencies. package backend import ( "io" "github.com/docker/engine-api/types" ) // ContainerAttachConfig holds the streams to use when connecting to a container to view logs. type ContainerAttachConfig struct { GetStreams func() (io.ReadCloser, io.Writer, io.Writer, error) UseStdin bool UseStdout bool UseStderr bool Logs bool Stream bool DetachKeys []byte // Used to signify that streams are multiplexed and therefore need a StdWriter to encode stdout/sderr messages accordingly. // TODO @cpuguy83: This shouldn't be needed. It was only added so that http and websocket endpoints can use the same function, and the websocket function was not using a stdwriter prior to this change... // HOWEVER, the websocket endpoint is using a single stream and SHOULD be encoded with stdout/stderr as is done for HTTP since it is still just a single stream. // Since such a change is an API change unrelated to the current changeset we'll keep it as is here and change separately. MuxStreams bool } // ContainerLogsConfig holds configs for logging operations. Exists // for users of the backend to to pass it a logging configuration. type ContainerLogsConfig struct { types.ContainerLogsOptions OutStream io.Writer Stop <-chan bool } // ContainerStatsConfig holds information for configuring the runtime // behavior of a backend.ContainerStats() call. type ContainerStatsConfig struct { Stream bool OutStream io.Writer Stop <-chan bool Version string }