syntax = "proto3"; package cuddlyproto; import "common.proto"; message DatanodeIDProto { string socketAddr = 1; // IP address:port of the datanode string hostName = 2; // Hostname of the datanode string datanodeUuid = 3; // UUID assigned to the datanode uint32 xferPort = 4; // Data streaming port uint32 infoPort = 5; // Datanode http port uint32 ipcPort = 6; // IPC server port uint32 infoSecurePort = 7; // Datanode https port } message DatanodeInfo { string socket_address = 1; string datanode_uuid = 2; uint64 total_capacity= 3; uint64 used_capacity = 4; } message DatanodeRegistrationProto { DatanodeIDProto datanodeID = 1; // Datanode information StorageInfoProto storageInfo = 2; // Node information ExportedBlockKeysProto keys = 3; // Block keys string softwareVersion = 4; // Software version of the DN, e.g. "2.0.0" } message BlockWithTargets { Block block = 1; repeated DatanodeInfo targets = 2; }