Esempio n. 1
0
// NewChecksumReader creates a new ChecksumReader for the given block.
func NewChecksumReader(block *hdfs.LocatedBlockProto) *ChecksumReader {
	locs := block.GetLocs()
	datanodes := make([]string, len(locs))
	for i, loc := range locs {
		dn := loc.GetId()
		datanodes[i] = fmt.Sprintf("%s:%d", dn.GetIpAddr(), dn.GetXferPort())
	}

	return &ChecksumReader{
		block:     block,
		datanodes: newDatanodeFailover(datanodes),
	}
}