docs/beam.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")
)