voldemort.client.protocol.pb
Class ProtoUtils

java.lang.Object
  extended by voldemort.client.protocol.pb.ProtoUtils

public class ProtoUtils
extends java.lang.Object

Helper functions for serializing or deserializing client requests in protocol buffers


Constructor Summary
ProtoUtils()
           
 
Method Summary
static ByteArray decodeBytes(com.google.protobuf.ByteString string)
           
static VectorClock decodeClock(VProto.VectorClock encoded)
           
static java.util.HashMap<java.lang.Integer,java.util.List<java.lang.Integer>> decodePartitionTuple(java.util.List<VAdminProto.PartitionTuple> partitionTuples)
           
static java.util.HashMap<java.lang.String,java.util.HashMap<java.lang.Integer,java.util.List<java.lang.Integer>>> decodePerStorePartitionTuple(java.util.List<VAdminProto.PerStorePartitionTuple> perStorePartitionTuples)
           
static java.util.List<RebalancePartitionsInfo> decodeRebalancePartitionInfoMap(java.util.List<VAdminProto.RebalancePartitionInfoMap> rebalancePartitionInfoMaps)
          Given a list protobuf rebalance-partition info, converts it into a list of our rebalance-partition info
static RebalancePartitionsInfo decodeRebalancePartitionInfoMap(VAdminProto.RebalancePartitionInfoMap rebalancePartitionInfoMap)
          Given a protobuf rebalance-partition info, converts it into our rebalance-partition info
static Versioned<byte[]> decodeVersioned(VProto.Versioned versioned)
           
static java.util.List<Versioned<byte[]>> decodeVersions(java.util.List<VProto.Versioned> versioned)
           
static com.google.protobuf.ByteString encodeBytes(ByteArray array)
           
static VProto.VectorClock.Builder encodeClock(Version version)
           
static VProto.Error.Builder encodeError(ErrorCodeMapper mapper, VoldemortException e)
           
static java.util.List<VAdminProto.PartitionTuple> encodePartitionTuple(java.util.HashMap<java.lang.Integer,java.util.List<java.lang.Integer>> replicaToPartitionList)
          Given a map of replica type to partitions, converts it to proto-buff equivalent called PartitionTuple
static java.util.List<VAdminProto.PerStorePartitionTuple> encodePerStorePartitionTuple(java.util.HashMap<java.lang.String,java.util.HashMap<java.lang.Integer,java.util.List<java.lang.Integer>>> storeToReplicaToPartitionList)
           
static java.util.List<VAdminProto.RebalancePartitionInfoMap> encodeRebalancePartitionInfoMap(java.util.List<RebalancePartitionsInfo> stealInfos)
          Given a list of rebalance-partition info, convert it into a list of protobuf equivalent
static VAdminProto.RebalancePartitionInfoMap encodeRebalancePartitionInfoMap(RebalancePartitionsInfo stealInfo)
          Given a rebalance-partition info, convert it into the protobuf equivalent
static java.util.Map<java.lang.String,java.lang.String> encodeROMap(java.util.List<VAdminProto.ROStoreVersionDirMap> metadataMap)
           
static com.google.protobuf.ByteString encodeTransform(byte[] transform)
           
static VProto.Versioned.Builder encodeVersioned(Versioned<byte[]> versioned)
           
static
<T extends com.google.protobuf.Message.Builder>
T
readToBuilder(java.io.DataInputStream input, T builder)
           
static void writeEndOfStream(java.io.DataOutputStream output)
           
static void writeMessage(java.io.DataOutputStream output, com.google.protobuf.Message message)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ProtoUtils

public ProtoUtils()
Method Detail

decodeRebalancePartitionInfoMap

public static java.util.List<RebalancePartitionsInfo> decodeRebalancePartitionInfoMap(java.util.List<VAdminProto.RebalancePartitionInfoMap> rebalancePartitionInfoMaps)
Given a list protobuf rebalance-partition info, converts it into a list of our rebalance-partition info

Parameters:
rebalancePartitionInfoMaps - List of protobuff version of rebalance-partition-info
Returns:
List of our Rebalance-partition-info

encodeRebalancePartitionInfoMap

public static java.util.List<VAdminProto.RebalancePartitionInfoMap> encodeRebalancePartitionInfoMap(java.util.List<RebalancePartitionsInfo> stealInfos)
Given a list of rebalance-partition info, convert it into a list of protobuf equivalent

Parameters:
stealInfos - List of rebalance partition info
Returns:
Protobuff equivalent of the same

decodeRebalancePartitionInfoMap

public static RebalancePartitionsInfo decodeRebalancePartitionInfoMap(VAdminProto.RebalancePartitionInfoMap rebalancePartitionInfoMap)
Given a protobuf rebalance-partition info, converts it into our rebalance-partition info

Parameters:
rebalancePartitionInfoMap - Proto-buff version of rebalance-partition-info
Returns:
Rebalance-partition-info

encodeRebalancePartitionInfoMap

public static VAdminProto.RebalancePartitionInfoMap encodeRebalancePartitionInfoMap(RebalancePartitionsInfo stealInfo)
Given a rebalance-partition info, convert it into the protobuf equivalent

Parameters:
stealInfo - Rebalance partition info
Returns:
Protobuff equivalent of the same

encodeROMap

public static java.util.Map<java.lang.String,java.lang.String> encodeROMap(java.util.List<VAdminProto.ROStoreVersionDirMap> metadataMap)

encodePartitionTuple

public static java.util.List<VAdminProto.PartitionTuple> encodePartitionTuple(java.util.HashMap<java.lang.Integer,java.util.List<java.lang.Integer>> replicaToPartitionList)
Given a map of replica type to partitions, converts it to proto-buff equivalent called PartitionTuple

Parameters:
replicaToPartitionList - Map of replica type to partitions
Returns:
List of partition tuples

decodePartitionTuple

public static java.util.HashMap<java.lang.Integer,java.util.List<java.lang.Integer>> decodePartitionTuple(java.util.List<VAdminProto.PartitionTuple> partitionTuples)

encodePerStorePartitionTuple

public static java.util.List<VAdminProto.PerStorePartitionTuple> encodePerStorePartitionTuple(java.util.HashMap<java.lang.String,java.util.HashMap<java.lang.Integer,java.util.List<java.lang.Integer>>> storeToReplicaToPartitionList)

decodePerStorePartitionTuple

public static java.util.HashMap<java.lang.String,java.util.HashMap<java.lang.Integer,java.util.List<java.lang.Integer>>> decodePerStorePartitionTuple(java.util.List<VAdminProto.PerStorePartitionTuple> perStorePartitionTuples)

encodeError

public static VProto.Error.Builder encodeError(ErrorCodeMapper mapper,
                                               VoldemortException e)

encodeVersioned

public static VProto.Versioned.Builder encodeVersioned(Versioned<byte[]> versioned)

decodeVersioned

public static Versioned<byte[]> decodeVersioned(VProto.Versioned versioned)

decodeVersions

public static java.util.List<Versioned<byte[]>> decodeVersions(java.util.List<VProto.Versioned> versioned)

decodeClock

public static VectorClock decodeClock(VProto.VectorClock encoded)

encodeClock

public static VProto.VectorClock.Builder encodeClock(Version version)

decodeBytes

public static ByteArray decodeBytes(com.google.protobuf.ByteString string)

encodeBytes

public static com.google.protobuf.ByteString encodeBytes(ByteArray array)

encodeTransform

public static com.google.protobuf.ByteString encodeTransform(byte[] transform)

writeMessage

public static void writeMessage(java.io.DataOutputStream output,
                                com.google.protobuf.Message message)
                         throws java.io.IOException
Throws:
java.io.IOException

writeEndOfStream

public static void writeEndOfStream(java.io.DataOutputStream output)
                             throws java.io.IOException
Throws:
java.io.IOException

readToBuilder

public static <T extends com.google.protobuf.Message.Builder> T readToBuilder(java.io.DataInputStream input,
                                                                              T builder)
                                                                   throws java.io.IOException
Throws:
java.io.IOException


Jay Kreps, Roshan Sumbaly, Alex Feinberg, Bhupesh Bansal, Lei Gao, Chinmay Soman, Vinoth Chandar, Zhongjie Wu