### Generated by rprotoc. DO NOT EDIT! ### # /* ------------------------------------------------------------------- # ** # ** riakclient.proto: Protocol buffers for riak # ** # ** Copyright (c) 2007-2010 Basho Technologies, Inc. All Rights Reserved. # ** # ** This file is provided to you under the Apache License, # ** Version 2.0 (the "License"); you may not use this file # ** except in compliance with the License. You may obtain # ** a copy of the License at # ** # ** http://www.apache.org/licenses/LICENSE-2.0 # ** # ** Unless required by applicable law or agreed to in writing, # ** software distributed under the License is distributed on an # ** "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # ** KIND, either express or implied. See the License for the # ** specific language governing permissions and limitations # ** under the License. # ** # ** ------------------------------------------------------------------- # */ # /* # ** Revision: 1.1 # ** # ** Lowest Common Denominator Protocol Buffers Client # ** - no ENUM (protobuffs_erlang does not support) # ** # ** Protocol # ** # ** The protocol encodes requests and responses as protocol buffer messages. # ** Each request message results in one or more response messages. # ** As message type and length are not encoded by PB they are sent # ** on the wire as # ** # ** # ** # ** length is the length of msg_code (1 byte) plus the message length # ** in bytes encoded in network order (big endian) # ** # ** msg_code indicates what is encoded as pbmsg # ** # ** pbmsg is the encoded protocol buffer message # ** # ** On connect, the client sends RpbHello with protocol/node information. # ** After that client can make requests and will receive responses. # ** For each request message there is a correspondign response message, # ** or the server will respond with an error message if something has # ** gone wrong. # ** # ** The client should be prepared to handle messages without any pbmsg # ** (i.e. length==1) for requests like ping or a put without return_body set. # ** # ** RpbGetClientIdReq -> RpbGetClientIdResp # ** RpbSetClientIdReq -> RpbSetClientIdResp # ** RpbGetServerInfoReq -> RpbGetServerInfoResp # ** RpbPingReq -> RpbPingResp # ** RpbGetReq -> RpbErrorResp | RbpGetResp # ** RpbPutReq -> RpbErrorResp | RpbPutResp # ** RpbDelReq -> RpbErrorResp | RpbDelResp # ** RpbListBucketsReq -> RpbErrorResp | RpbListBucketsResp # ** RpbListKeysReq -> RpbErrorResp | RpbListKeysResp{1,} # ** RpbGetBucketReq -> RpbErrorResp | RpbGetBucketResp # ** # ** # ** Message Codes # ** 0 - RpbErrorResp # ** 1 - RpbPingReq - 0 length # ** 2 - RpbPingResp (pong) - 0 length # ** 3 - RpbGetClientIdReq # ** 4 - RpbGetClientIdResp # ** 5 - RpbSetClientIdReq # ** 6 - RpbSetClientIdResp # ** 7 - RpbGetServerInfoReq # ** 8 - RpbGetServerInfoResp # ** 9 - RpbGetReq # ** 10 - RpbGetResp # ** 11 - RpbPutReq # ** 12 - RpbPutResp - 0 length # ** 13 - RpbDelReq # ** 14 - RpbDelResp # ** 15 - RpbListBucketsReq # ** 16 - RpbListBucketsResp{1,} # ** 17 - RpbListKeysReq # ** 18 - RpbListKeysResp{1,} # ** 19 - RpbGetBucketReq # ** 20 - RpbGetBucketResp # ** 21 - RpbSetBucketReq # ** 22 - RpbSetBucketResp # ** 23 - RpbMapRedReq # ** 24 - RpbMapRedResp # ** # */ # # // Error response - may be generated for any Req # message RpbErrorResp { # required bytes errmsg = 1; # required uint32 errcode = 2; # } # # // Get ClientId Request - no message defined, just send RpbGetClientIdReq message code # message RpbGetClientIdResp { # required bytes client_id = 1; // Client id in use for this connection # } # # message RpbSetClientIdReq { # required bytes client_id = 1; // Client id to use for this connection # } # // Set ClientId Request - no message defined, just send RpbSetClientIdReq message code # # // Get server info request - no message defined, just send RpbGetServerInfoReq message code # # message RpbGetServerInfoResp { # optional bytes node = 1; # optional bytes server_version = 2; # } # # # // Get Request - retrieve bucket/key # message RpbGetReq { # required bytes bucket = 1; # required bytes key = 2; # optional uint32 r = 3; # } # # // Get Response - if the record was not found there will be no content/vclock # message RpbGetResp { # repeated RpbContent content = 1; # optional bytes vclock = 2; // the opaque vector clock for the object # } # # # // Put request - if options.return_body is set then the updated metadata/data for # // the key will be returned. # message RpbPutReq { # required bytes bucket = 1; # required bytes key = 2; # optional bytes vclock = 3; # required RpbContent content = 4; # optional uint32 w = 5; # optional uint32 dw = 6; # optional bool return_body = 7; # } # # // Put response - same as get response # message RpbPutResp { # repeated RpbContent contents = 1; # optional bytes vclock = 2; // the opaque vector clock for the object # } # # # // Delete request # message RpbDelReq { # required bytes bucket = 1; # required bytes key = 2; # optional uint32 rw = 3; # } # # // Delete response - not defined, will return a RpbDelResp on success or RpbErrorResp on failure # # // List buckets request - no message defined, just send RpbListBucketsReq # # // List buckets response # message RpbListBucketsResp { # repeated bytes buckets = 1; # } # # # // List keys in bucket request # message RpbListKeysReq { # required bytes bucket = 1; # } # # // List keys in bucket response - one or more of these packets will be sent # // the last one will have done set true (and may not have any keys in it) # message RpbListKeysResp { # repeated bytes keys = 1; # optional bool done = 2; # } # # // Get bucket properties request # message RpbGetBucketReq { # required bytes bucket = 1; # } # # // Get bucket properties response # message RpbGetBucketResp { # required RpbBucketProps props = 1; # } # # // Set bucket properties request # message RpbSetBucketReq { # required bytes bucket = 1; # required RpbBucketProps props = 2; # } # # # // Set bucket properties response - no message defined, just send RpbSetBucketResp # # # // Map/Reduce request # message RpbMapRedReq { # required bytes request = 1; # required bytes content_type = 2; # } # # // Map/Reduce response # // one or more of these packets will be sent the last one will have done set # // true (and may not have phase/data in it) # message RpbMapRedResp { # optional uint32 phase = 1; # optional bytes response = 2; # optional bool done = 3; # } # # // Content message included in get/put responses # // Holds the value and associated metadata # message RpbContent { # required bytes value = 1; # optional bytes content_type = 2; // the media type/format # optional bytes charset = 3; # optional bytes content_encoding = 4; # optional bytes vtag = 5; # repeated RpbLink links = 6; // links to other resources # optional uint32 last_mod = 7; # optional uint32 last_mod_usecs = 8; # repeated RpbPair usermeta = 9; // user metadata stored with the object # } # # // Key/value pair - used for user metadata # message RpbPair { # required bytes key = 1; # optional bytes value = 2; # } # # // Link metadata # message RpbLink { # optional bytes bucket = 1; # optional bytes key = 2; # optional bytes tag = 3; # } # # // Bucket properties # message RpbBucketProps { # optional uint32 n_val = 1; # optional bool allow_mult = 2; # } require 'protobuf/message/message' require 'protobuf/message/enum' require 'protobuf/message/service' require 'protobuf/message/extend' module Riakpb class RpbErrorResp < ::Protobuf::Message defined_in __FILE__ required :bytes, :errmsg, 1 required :uint32, :errcode, 2 end class RpbGetClientIdResp < ::Protobuf::Message defined_in __FILE__ required :bytes, :client_id, 1 end class RpbSetClientIdReq < ::Protobuf::Message defined_in __FILE__ required :bytes, :client_id, 1 end class RpbGetServerInfoResp < ::Protobuf::Message defined_in __FILE__ optional :bytes, :node, 1 optional :bytes, :server_version, 2 end class RpbGetReq < ::Protobuf::Message defined_in __FILE__ required :bytes, :bucket, 1 required :bytes, :key, 2 optional :uint32, :r, 3 end class RpbGetResp < ::Protobuf::Message defined_in __FILE__ repeated :RpbContent, :content, 1 optional :bytes, :vclock, 2 end class RpbPutReq < ::Protobuf::Message defined_in __FILE__ required :bytes, :bucket, 1 required :bytes, :key, 2 optional :bytes, :vclock, 3 required :RpbContent, :content, 4 optional :uint32, :w, 5 optional :uint32, :dw, 6 optional :bool, :return_body, 7 end class RpbPutResp < ::Protobuf::Message defined_in __FILE__ repeated :RpbContent, :content, 1 optional :bytes, :vclock, 2 end class RpbDelReq < ::Protobuf::Message defined_in __FILE__ required :bytes, :bucket, 1 required :bytes, :key, 2 optional :uint32, :rw, 3 end class RpbListBucketsResp < ::Protobuf::Message defined_in __FILE__ repeated :bytes, :buckets, 1 end class RpbListKeysReq < ::Protobuf::Message defined_in __FILE__ required :bytes, :bucket, 1 end class RpbListKeysResp < ::Protobuf::Message defined_in __FILE__ repeated :bytes, :keys, 1 optional :bool, :done, 2 end class RpbGetBucketReq < ::Protobuf::Message defined_in __FILE__ required :bytes, :bucket, 1 end class RpbGetBucketResp < ::Protobuf::Message defined_in __FILE__ required :RpbBucketProps, :props, 1 end class RpbSetBucketReq < ::Protobuf::Message defined_in __FILE__ required :bytes, :bucket, 1 required :RpbBucketProps, :props, 2 end class RpbMapRedReq < ::Protobuf::Message defined_in __FILE__ required :bytes, :request, 1 required :bytes, :content_type, 2 end class RpbMapRedResp < ::Protobuf::Message defined_in __FILE__ repeated :uint32, :phase, 1 repeated :bytes, :response, 2 optional :bool, :done, 3 end class RpbContent < ::Protobuf::Message defined_in __FILE__ optional :bytes, :value, 1 optional :bytes, :content_type, 2 optional :bytes, :charset, 3 optional :bytes, :content_encoding, 4 optional :bytes, :vtag, 5 repeated :RpbLink, :links, 6 optional :uint32, :last_mod, 7 optional :uint32, :last_mod_usecs, 8 repeated :RpbPair, :usermeta, 9 end class RpbPair < ::Protobuf::Message defined_in __FILE__ required :bytes, :key, 1 optional :bytes, :value, 2 end class RpbLink < ::Protobuf::Message defined_in __FILE__ optional :bytes, :bucket, 1 optional :bytes, :key, 2 optional :bytes, :tag, 3 end class RpbBucketProps < ::Protobuf::Message defined_in __FILE__ optional :uint32, :n_val, 1 optional :bool, :allow_mult, 2 end end