partition.go 523 字节
Newer Older
1 2 3 4 5 6 7 8 9 10
package reader

import "C"

type Partition struct {
	PartitionPtr *C.CPartition
	PartitionName string
	Segments []*Segment
}

11 12
func (p *Partition) NewSegment(segmentId uint64) *Segment {
	segmentPtr := C.NewSegment(p.PartitionPtr, segmentId)
13

14 15
	var newSegment = &Segment{SegmentPtr: segmentPtr, SegmentId: segmentId}
	p.Segments = append(p.Segments, newSegment)
16
	return newSegment
17 18
}

19 20 21
func (p *Partition) DeleteSegment(segment *Segment) {
	cPtr := segment.SegmentPtr
	C.DeleteSegment(cPtr)
22

23
	// TODO: remove from p.Segments
24
}