stream

package
v0.0.0-...-71dd0ca Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 12, 2018 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ForceCloseConnect = true
	NoCloseConnect    = false
)
View Source
const (
	ContinueReceive        = true
	NotReceive             = false
	DefaultWriteBufferSize = 2 * util.MB
	ForBidUpdateExtentKey  = -1
	ForBidUpdateMetaNode   = -2
	ExtentFlushIng         = 1
	ExtentHasFlushed       = 2
	HasExitRecvThread      = -1
)
View Source
const (
	MaxSelectDataPartionForWrite = 32
	MaxStreamInitRetry           = 3
	HasClosed                    = -1
)

Variables

View Source
var (
	FlushErr      = errors.New("backend flush error")
	FullExtentErr = errors.New("full extent")
)
View Source
var (
	ReadConnectPool = pool.NewConnPool()
)

Functions

func ReadFull

func ReadFull(c net.Conn, buf *[]byte, readSize int) (err error)

Types

type AppendExtentKeyFunc

type AppendExtentKeyFunc func(inode uint64, key proto.ExtentKey) error

type CloseRequest

type CloseRequest struct {
	// contains filtered or unexported fields
}

type ExtentClient

type ExtentClient struct {
	// contains filtered or unexported fields
}

func NewExtentClient

func NewExtentClient(volname, master string, appendExtentKey AppendExtentKeyFunc, getExtents GetExtentsFunc) (client *ExtentClient, err error)

func (*ExtentClient) CloseForWrite

func (client *ExtentClient) CloseForWrite(inode uint64) (err error)

func (*ExtentClient) Flush

func (client *ExtentClient) Flush(inode uint64) (err error)

func (*ExtentClient) GetWriteSize

func (client *ExtentClient) GetWriteSize(inode uint64) uint64

func (*ExtentClient) OpenForRead

func (client *ExtentClient) OpenForRead(inode uint64) (stream *StreamReader, err error)

func (*ExtentClient) OpenForWrite

func (client *ExtentClient) OpenForWrite(inode, start uint64)

func (*ExtentClient) Read

func (client *ExtentClient) Read(stream *StreamReader, inode uint64, data []byte, offset int, size int) (read int, err error)

func (*ExtentClient) SetWriteSize

func (client *ExtentClient) SetWriteSize(inode, size uint64)

func (*ExtentClient) Write

func (client *ExtentClient) Write(inode uint64, offset int, data []byte) (write int, err error)

type ExtentReader

type ExtentReader struct {
	// contains filtered or unexported fields
}

func NewExtentReader

func NewExtentReader(inode uint64, inInodeOffset int, key proto.ExtentKey) (reader *ExtentReader, err error)

type ExtentWriter

type ExtentWriter struct {
	// contains filtered or unexported fields
}

func NewExtentWriter

func NewExtentWriter(inode uint64, dp *wrapper.DataPartition, extentId uint64) (writer *ExtentWriter, err error)

func (*ExtentWriter) IsFullCurrentPacket

func (writer *ExtentWriter) IsFullCurrentPacket() bool

type FlushRequest

type FlushRequest struct {
	// contains filtered or unexported fields
}

type GetExtentsFunc

type GetExtentsFunc func(inode uint64) ([]proto.ExtentKey, error)

type Packet

type Packet struct {
	proto.Packet
	// contains filtered or unexported fields
}

func NewCreateExtentPacket

func NewCreateExtentPacket(dp *wrapper.DataPartition, inodeId uint64) (p *Packet)

func NewDeleteExtentPacket

func NewDeleteExtentPacket(dp *wrapper.DataPartition, extentId uint64) (p *Packet)

func NewReadPacket

func NewReadPacket(key *proto.ExtentKey, offset, size int) (p *Packet)

func NewReply

func NewReply(reqId int64, partition uint32, extentId uint64) (p *Packet)

func NewStreamReadPacket

func NewStreamReadPacket(key *proto.ExtentKey, offset, size int) (p *Packet)

func NewWritePacket

func NewWritePacket(dp *wrapper.DataPartition, extentId uint64, offset int, kernelOffset int) (p *Packet)

func (*Packet) IsEqualReadReply

func (p *Packet) IsEqualReadReply(q *Packet) bool

func (*Packet) IsEqualStreamReadReply

func (p *Packet) IsEqualStreamReadReply(q *Packet) bool

func (*Packet) IsEqualWriteReply

func (p *Packet) IsEqualWriteReply(q *Packet) bool

func (*Packet) ReadFromConnStream

func (p *Packet) ReadFromConnStream(c net.Conn, deadlineTime time.Duration) (err error)

type ReadRequest

type ReadRequest struct {
	// contains filtered or unexported fields
}

type StreamReader

type StreamReader struct {
	// contains filtered or unexported fields
}

func NewStreamReader

func NewStreamReader(inode uint64, getExtents GetExtentsFunc) (stream *StreamReader, err error)

func (*StreamReader) GetReader

func (stream *StreamReader) GetReader(offset, size int) (readers []*ExtentReader, readersOffsets []int, readersSize []int)

type StreamWriter

type StreamWriter struct {
	Inode uint64 //inode
	// contains filtered or unexported fields
}

func NewStreamWriter

func NewStreamWriter(inode, start uint64, appendExtentKey AppendExtentKeyFunc) (stream *StreamWriter)

type WriteRequest

type WriteRequest struct {
	// contains filtered or unexported fields
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL