const CurrentVersion … type Index … type Entry … // ReadIndex reads the latest version of the on-disk index // for the cache directory cd. // It returns (nil, nil) if there is no index, but returns // a non-nil error if the index exists but could not be read. func ReadIndex(cachedir string) (*Index, error) { … } func readIndexFrom(cd Abspath, bx io.Reader) (*Index, error) { … } // write the index as a text file func writeIndex(cachedir Abspath, ix *Index) error { … } func writeIndexToFile(x *Index, fd *os.File) error { … } var IndexDir … // IndexDir computes the directory containing the index func indexDir() (string, error) { … } // return the base name of the file containing the name of the current index func indexNameBase(cachedir Abspath) string { … }