public abstract DatanodeRegistration RegisterDatanode(DatanodeRegistration registration );
public abstract void ErrorReport(DatanodeRegistration registration, int errorCode , string msg);
public abstract void BlockReceivedAndDeleted(DatanodeRegistration registration, string poolId, StorageReceivedDeletedBlocks[] rcvdAndDeletedBlocks);
public abstract DatanodeCommand CacheReport(DatanodeRegistration registration, string poolId, IList <long> blockIds);
public abstract DatanodeCommand BlockReport(DatanodeRegistration registration, string poolId, StorageBlockReport[] reports, BlockReportContext context);
public abstract HeartbeatResponse SendHeartbeat(DatanodeRegistration registration , StorageReport[] reports, long dnCacheCapacity, long dnCacheUsed, int xmitsInProgress , int xceiverCount, int failedVolumes, VolumeFailureSummary volumeFailureSummary );