import "ds/port"Package ds/port is for interfacing with Droscheme I/O.
type BIPort interface {
io.ByteReader
io.Reader
BytePeeker
Peeker
}
type BOPort interface {
io.Writer
}
type BPort interface {
BIPort
BOPort
}
type BytePeeker interface {
PeekByte() (c byte, err error)
ReadyByte() bool
UnreadByte() error
}
type Closer interface {
io.Closer
Closed() bool
}
type Flusher interface {
Flush() error
}
implemented by dsbufio.Writer
type IPort interface {
BIPort
TIPort
}
type LineReader interface {
ReadLine() (line []byte, isPrefix bool, err error)
}
type OPort interface {
BOPort
TOPort
Flusher
}
type Peeker interface {
Peek(n int) (c []byte, err error)
}
implemented by dsbufio.Reader
type Port interface {
Any
GetPortType() int
Closer
}
type RunePeeker interface {
PeekRune() (r rune, size int, err error)
ReadyRune() bool
UnreadRune() error
}
type RunesReader interface {
ReadRunes(delim rune) (line []rune, err error)
}
type RunesWriter interface {
WriteRunes(p []rune) (n int, err error)
}
similar to io.WriteString
type StringReader interface {
ReadString(delim byte) (line string, err error)
}
type TIPort interface {
io.RuneReader
RunesReader
RunePeeker
}
type TOPort interface {
RunesWriter
}
type TPort interface {
TIPort
TOPort
}
| Name | Synopsis | |
|---|---|---|
| .. | ||
| runtime | Package ds/port/runtime represents the Scheme library (ds port runtime). |