github.com/dshulyak/uring@v0.0.0-20210209113719-1b2ec51f1542/fixed/buffer.go (about) 1 package fixed 2 3 // Buffer ... 4 type Buffer struct { 5 // if single iovec is splitted between several buffers - index and poolIndex will have 6 // different values. 7 // index refers to bufIndex in io_uring. 8 // poolIndex refers to the index in local queue. 9 index, poolIndex int 10 B []byte 11 } 12 13 // Index returns bufIndex that must be used for fixed write io_uring operations. 14 func (b *Buffer) Index() uint16 { 15 return uint16(b.index) 16 } 17 18 // Len ... 19 func (b *Buffer) Len() uint64 { 20 return uint64(len(b.B)) 21 } 22 23 // Base returns pointer to the first byte of the buffer. 24 func (b *Buffer) Base() *byte { 25 return &b.B[0] 26 } 27 28 // Bytes ... 29 func (b *Buffer) Bytes() []byte { 30 return b.B 31 }