func (link *Link) At(id uint64) (start, length uint64, err error) {
	link.Lock()
	defer link.Unlock()

	if _, err = link.file.Seek(int64(id*16), 0); nil != err {
		return
	}

	entry := make([]byte, 16)
	if num, _ := link.file.Read(entry); 16 != num {
		err = ErrFailedToRead16Bytes
		return
	}

	start = binary.BigEndian.Uint64(entry[:8])
	length = binary.BigEndian.Uint64(entry[8:])
	return
}
// At returns the position and length of the requested data.
At returns the position and length of the requested data.
// At returns the position and length of the requested data .
func (link *Link) At(id uint64) (start, length uint64, err error) {
	link.Lock()
	defer link.Unlock()
	if _, err = link.file.Seek(int64(id*16), 0); nil != err {
		return
	}
	entry := make([]byte, 16)
	if num, _ := link.file.Read(entry); 16 != num {
		err = ErrFailedToRead16Bytes
		return
	}
	start = binary.BigEndian.Uint64(entry[:8])
	length = binary.BigEndian.Uint64(entry[8:])
	return
}
func ( link * Link ) At ( id uint64 ) ( start , length uint64 , err error ) { link . Lock ( ) defer link . Unlock ( ) if _ , err = link . file . Seek ( int64 ( id * 16 ) , 0 ) ; nil != err { return } entry := make ( [ ] byte , 16 ) if num , _ := link . file . Read ( entry ) ; 16 != num { err = ErrFailedToRead16Bytes return } start = binary . BigEndian . Uint64 ( entry [ : 8 ] ) length = binary . BigEndian . Uint64 ( entry [ 8 : ] ) return }
At returns the position and length of the requested data.
At returns the position and length of the requested data .