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 RebalanceTaskInfo decodeRebalanceTaskInfoMap(VAdminProto.RebalanceTaskInfoMap rebalanceTaskInfoMap)
          Given a protobuf rebalance-partition info, converts it into our rebalance-partition info
static java.util.HashMap<java.lang.String,java.util.List<java.lang.Integer>> decodeStoreToPartitionIds(java.util.List<VAdminProto.StoreToPartitionsIds> storeToPartitionIds)
           
static Versioned<byte[]> decodeVersioned(VProto.Versioned versioned)
           
static Versioned<byte[]> decodeVersionedMetadataKeyValue(VProto.KeyedVersions keyValue)
          Given a list of value versions for the metadata keys we are just interested in the value at index 0 This is because even if we have to update the cluster.xml we marshall a single key into a versioned list Hence we just look at the value at index 0
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 VAdminProto.RebalanceTaskInfoMap encodeRebalanceTaskInfoMap(RebalanceTaskInfo stealInfo)
          Given a rebalance-task 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 java.util.List<VAdminProto.StoreToPartitionsIds> encodeStoreToPartitionsTuple(java.util.HashMap<java.lang.String,java.util.List<java.lang.Integer>> storeToPartitionIds)
           
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

decodeRebalanceTaskInfoMap

public static RebalanceTaskInfo decodeRebalanceTaskInfoMap(VAdminProto.RebalanceTaskInfoMap rebalanceTaskInfoMap)
Given a protobuf rebalance-partition info, converts it into our rebalance-partition info

Parameters:
rebalanceTaskInfoMap - Proto-buff version of RebalanceTaskInfoMap
Returns:
RebalanceTaskInfo object.

decodeStoreToPartitionIds

public static java.util.HashMap<java.lang.String,java.util.List<java.lang.Integer>> decodeStoreToPartitionIds(java.util.List<VAdminProto.StoreToPartitionsIds> storeToPartitionIds)

encodeRebalanceTaskInfoMap

public static VAdminProto.RebalanceTaskInfoMap encodeRebalanceTaskInfoMap(RebalanceTaskInfo stealInfo)
Given a rebalance-task info, convert it into the protobuf equivalent

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

encodeStoreToPartitionsTuple

public static java.util.List<VAdminProto.StoreToPartitionsIds> encodeStoreToPartitionsTuple(java.util.HashMap<java.lang.String,java.util.List<java.lang.Integer>> storeToPartitionIds)

encodeROMap

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

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)

decodeVersionedMetadataKeyValue

public static Versioned<byte[]> decodeVersionedMetadataKeyValue(VProto.KeyedVersions keyValue)
Given a list of value versions for the metadata keys we are just interested in the value at index 0 This is because even if we have to update the cluster.xml we marshall a single key into a versioned list Hence we just look at the value at index 0


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