0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018 package org.apache.spark.network.shuffle.protocol;
0019
0020 import java.util.Objects;
0021
0022 import io.netty.buffer.ByteBuf;
0023 import org.apache.commons.lang3.builder.ToStringBuilder;
0024 import org.apache.commons.lang3.builder.ToStringStyle;
0025
0026
0027 import static org.apache.spark.network.shuffle.protocol.BlockTransferMessage.Type;
0028
0029
0030 public class BlocksRemoved extends BlockTransferMessage {
0031 public final int numRemovedBlocks;
0032
0033 public BlocksRemoved(int numRemovedBlocks) {
0034 this.numRemovedBlocks = numRemovedBlocks;
0035 }
0036
0037 @Override
0038 protected Type type() { return Type.BLOCKS_REMOVED; }
0039
0040 @Override
0041 public int hashCode() {
0042 return Objects.hashCode(numRemovedBlocks);
0043 }
0044
0045 @Override
0046 public String toString() {
0047 return new ToStringBuilder(this, ToStringStyle.SHORT_PREFIX_STYLE)
0048 .append("numRemovedBlocks", numRemovedBlocks)
0049 .toString();
0050 }
0051
0052 @Override
0053 public boolean equals(Object other) {
0054 if (other != null && other instanceof BlocksRemoved) {
0055 BlocksRemoved o = (BlocksRemoved) other;
0056 return numRemovedBlocks == o.numRemovedBlocks;
0057 }
0058 return false;
0059 }
0060
0061 @Override
0062 public int encodedLength() {
0063 return 4;
0064 }
0065
0066 @Override
0067 public void encode(ByteBuf buf) {
0068 buf.writeInt(numRemovedBlocks);
0069 }
0070
0071 public static BlocksRemoved decode(ByteBuf buf) {
0072 int numRemovedBlocks = buf.readInt();
0073 return new BlocksRemoved(numRemovedBlocks);
0074 }
0075 }