func (link *Link) Delete(id uint64) (freed uint64, err error) {
	link.Lock()
	defer link.Unlock()

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

	entry := make([]byte, 8)
	if num, _ := link.file.Read(entry); 8 != num {
		err = ErrFailedToRead16Bytes // Actually 8 bytes, here.
		return
	}
	freed = binary.BigEndian.Uint64(entry)

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

	var n int
	if n, err = link.file.Write(empty); nil != err {
		return
	} else if 16 != n {
		err = ErrFailedToWrite16Bytes
		return
	}
	return
}
// Delete an entry in the link.
Delete an entry in the link.
// Delete an entry in the link .
func (link *Link) Delete(id uint64) (freed uint64, err error) {
	link.Lock()
	defer link.Unlock()
	if _, err = link.file.Seek(int64(id*16+8), 0); nil != err {
		return
	}
	entry := make([]byte, 8)
	if num, _ := link.file.Read(entry); 8 != num {
		err = ErrFailedToRead16Bytes 
		return
	}
	freed = binary.BigEndian.Uint64(entry)
	if _, err = link.file.Seek(int64(id*16), 0); nil != err {
		return
	}
	var n int
	if n, err = link.file.Write(empty); nil != err {
		return
	} else if 16 != n {
		err = ErrFailedToWrite16Bytes
		return
	}
	return
}
func ( link * Link ) Delete ( id uint64 ) ( freed uint64 , err error ) { link . Lock ( ) defer link . Unlock ( ) if _ , err = link . file . Seek ( int64 ( id * 16 + 8 ) , 0 ) ; nil != err { return } entry := make ( [ ] byte , 8 ) if num , _ := link . file . Read ( entry ) ; 8 != num { err = ErrFailedToRead16Bytes return } freed = binary . BigEndian . Uint64 ( entry ) if _ , err = link . file . Seek ( int64 ( id * 16 ) , 0 ) ; nil != err { return } var n int if n , err = link . file . Write ( empty ) ; nil != err { return } else if 16 != n { err = ErrFailedToWrite16Bytes return } return }
Delete an entry in the link.
Delete an entry in the link .
// Actually 8 bytes, here.