mirror of https://github.com/docker/docs.git
40 lines
591 B
Go
40 lines
591 B
Go
package beam
|
|
|
|
import (
|
|
"errors"
|
|
"os"
|
|
)
|
|
|
|
type Sender interface {
|
|
Send(msg *Message, mode int) (Receiver, Sender, error)
|
|
Close() error
|
|
}
|
|
|
|
type Receiver interface {
|
|
Receive(mode int) (*Message, Receiver, Sender, error)
|
|
}
|
|
|
|
type Message struct {
|
|
Name string
|
|
Args []string
|
|
Att *os.File
|
|
}
|
|
|
|
const (
|
|
R = 1 << (32 - 1 - iota)
|
|
W
|
|
)
|
|
|
|
type ReceiverFrom interface {
|
|
ReceiveFrom(Receiver) (int, error)
|
|
}
|
|
|
|
type SenderTo interface {
|
|
SendTo(Sender) (int, error)
|
|
}
|
|
|
|
var (
|
|
ErrIncompatibleSender = errors.New("incompatible sender")
|
|
ErrIncompatibleReceiver = errors.New("incompatible receiver")
|
|
)
|