github.com/bartle-stripe/trillian@v1.2.1/storage/cloudspanner/spannerpb/spanner.pb.go (about)

     1  // Code generated by protoc-gen-go. DO NOT EDIT.
     2  // source: spanner.proto
     3  
     4  package spannerpb // import "github.com/google/trillian/storage/cloudspanner/spannerpb"
     5  
     6  import proto "github.com/golang/protobuf/proto"
     7  import fmt "fmt"
     8  import math "math"
     9  import any "github.com/golang/protobuf/ptypes/any"
    10  
    11  // Reference imports to suppress errors if they are not otherwise used.
    12  var _ = proto.Marshal
    13  var _ = fmt.Errorf
    14  var _ = math.Inf
    15  
    16  // This is a compile-time assertion to ensure that this generated file
    17  // is compatible with the proto package it is being compiled against.
    18  // A compilation error at this line likely means your copy of the
    19  // proto package needs to be updated.
    20  const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
    21  
    22  // State of the Tree.
    23  // Mirrors trillian.TreeState.
    24  type TreeState int32
    25  
    26  const (
    27  	TreeState_UNKNOWN_TREE_STATE TreeState = 0
    28  	TreeState_ACTIVE             TreeState = 1
    29  	TreeState_FROZEN             TreeState = 2
    30  )
    31  
    32  var TreeState_name = map[int32]string{
    33  	0: "UNKNOWN_TREE_STATE",
    34  	1: "ACTIVE",
    35  	2: "FROZEN",
    36  }
    37  var TreeState_value = map[string]int32{
    38  	"UNKNOWN_TREE_STATE": 0,
    39  	"ACTIVE":             1,
    40  	"FROZEN":             2,
    41  }
    42  
    43  func (x TreeState) String() string {
    44  	return proto.EnumName(TreeState_name, int32(x))
    45  }
    46  func (TreeState) EnumDescriptor() ([]byte, []int) {
    47  	return fileDescriptor_spanner_9d8b0e1d0a3a47ae, []int{0}
    48  }
    49  
    50  // Type of the Tree.
    51  // Mirrors trillian.TreeType.
    52  type TreeType int32
    53  
    54  const (
    55  	TreeType_UNKNOWN TreeType = 0
    56  	TreeType_LOG     TreeType = 1
    57  	TreeType_MAP     TreeType = 2
    58  )
    59  
    60  var TreeType_name = map[int32]string{
    61  	0: "UNKNOWN",
    62  	1: "LOG",
    63  	2: "MAP",
    64  }
    65  var TreeType_value = map[string]int32{
    66  	"UNKNOWN": 0,
    67  	"LOG":     1,
    68  	"MAP":     2,
    69  }
    70  
    71  func (x TreeType) String() string {
    72  	return proto.EnumName(TreeType_name, int32(x))
    73  }
    74  func (TreeType) EnumDescriptor() ([]byte, []int) {
    75  	return fileDescriptor_spanner_9d8b0e1d0a3a47ae, []int{1}
    76  }
    77  
    78  // Defines the preimage protection used for tree leaves / nodes.
    79  // Eg, RFC6962 dictates a 0x00 prefix for leaves and 0x01 for nodes.
    80  // Mirrors trillian.HashStrategy.
    81  type HashStrategy int32
    82  
    83  const (
    84  	HashStrategy_UNKNOWN_HASH_STRATEGY HashStrategy = 0
    85  	HashStrategy_RFC_6962              HashStrategy = 1
    86  	HashStrategy_TEST_MAP_HASHER       HashStrategy = 2
    87  	HashStrategy_OBJECT_RFC6962_SHA256 HashStrategy = 3
    88  	HashStrategy_CONIKS_SHA512_256     HashStrategy = 4
    89  )
    90  
    91  var HashStrategy_name = map[int32]string{
    92  	0: "UNKNOWN_HASH_STRATEGY",
    93  	1: "RFC_6962",
    94  	2: "TEST_MAP_HASHER",
    95  	3: "OBJECT_RFC6962_SHA256",
    96  	4: "CONIKS_SHA512_256",
    97  }
    98  var HashStrategy_value = map[string]int32{
    99  	"UNKNOWN_HASH_STRATEGY": 0,
   100  	"RFC_6962":              1,
   101  	"TEST_MAP_HASHER":       2,
   102  	"OBJECT_RFC6962_SHA256": 3,
   103  	"CONIKS_SHA512_256":     4,
   104  }
   105  
   106  func (x HashStrategy) String() string {
   107  	return proto.EnumName(HashStrategy_name, int32(x))
   108  }
   109  func (HashStrategy) EnumDescriptor() ([]byte, []int) {
   110  	return fileDescriptor_spanner_9d8b0e1d0a3a47ae, []int{2}
   111  }
   112  
   113  // Supported hash algorithms.
   114  // The numbering space is the same as for TLS, given in RFC 5246 s7.4.1.4.1. See
   115  // http://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#tls-parameters-18.
   116  // Mirrors trillian.HashAlgorithm.
   117  type HashAlgorithm int32
   118  
   119  const (
   120  	// No hash algorithm is used.
   121  	HashAlgorithm_NONE HashAlgorithm = 0
   122  	// SHA256 is used.
   123  	HashAlgorithm_SHA256 HashAlgorithm = 4
   124  )
   125  
   126  var HashAlgorithm_name = map[int32]string{
   127  	0: "NONE",
   128  	4: "SHA256",
   129  }
   130  var HashAlgorithm_value = map[string]int32{
   131  	"NONE":   0,
   132  	"SHA256": 4,
   133  }
   134  
   135  func (x HashAlgorithm) String() string {
   136  	return proto.EnumName(HashAlgorithm_name, int32(x))
   137  }
   138  func (HashAlgorithm) EnumDescriptor() ([]byte, []int) {
   139  	return fileDescriptor_spanner_9d8b0e1d0a3a47ae, []int{3}
   140  }
   141  
   142  // Supported signature algorithms.
   143  // The numbering space is the same as for TLS, given in RFC 5246 s7.4.1.4.1. See
   144  // http://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#tls-parameters-16.
   145  // Mirrors trillian.SignatureAlgorithm.
   146  type SignatureAlgorithm int32
   147  
   148  const (
   149  	// Anonymous signature scheme.
   150  	SignatureAlgorithm_ANONYMOUS SignatureAlgorithm = 0
   151  	// RSA signature scheme.
   152  	SignatureAlgorithm_RSA SignatureAlgorithm = 1
   153  	// ECDSA signature scheme.
   154  	SignatureAlgorithm_ECDSA SignatureAlgorithm = 3
   155  )
   156  
   157  var SignatureAlgorithm_name = map[int32]string{
   158  	0: "ANONYMOUS",
   159  	1: "RSA",
   160  	3: "ECDSA",
   161  }
   162  var SignatureAlgorithm_value = map[string]int32{
   163  	"ANONYMOUS": 0,
   164  	"RSA":       1,
   165  	"ECDSA":     3,
   166  }
   167  
   168  func (x SignatureAlgorithm) String() string {
   169  	return proto.EnumName(SignatureAlgorithm_name, int32(x))
   170  }
   171  func (SignatureAlgorithm) EnumDescriptor() ([]byte, []int) {
   172  	return fileDescriptor_spanner_9d8b0e1d0a3a47ae, []int{4}
   173  }
   174  
   175  // LogStorageConfig holds settings which tune the storage implementation for
   176  // a given log tree.
   177  type LogStorageConfig struct {
   178  	// num_unseq_buckets defines the length of the unsequenced time ring buffer.
   179  	// This value must *never* be reduced for any provisioned tree.
   180  	//
   181  	// This value should be >= 1, and there's probably not much benefit in
   182  	// raising it past about 4.
   183  	// TODO(al): test what the effects of various values are here.
   184  	NumUnseqBuckets int64 `protobuf:"varint,1,opt,name=num_unseq_buckets,json=numUnseqBuckets" json:"num_unseq_buckets,omitempty"`
   185  	// num_merkle_buckets defines the number of individual buckets below each
   186  	// unsequenced ring bucket.
   187  	// This value may be changed at any time (so long as you understand the
   188  	// impact it'll have on integration performace!)
   189  	//
   190  	// This value must lie in the range [1..256]
   191  	NumMerkleBuckets     int64    `protobuf:"varint,2,opt,name=num_merkle_buckets,json=numMerkleBuckets" json:"num_merkle_buckets,omitempty"`
   192  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
   193  	XXX_unrecognized     []byte   `json:"-"`
   194  	XXX_sizecache        int32    `json:"-"`
   195  }
   196  
   197  func (m *LogStorageConfig) Reset()         { *m = LogStorageConfig{} }
   198  func (m *LogStorageConfig) String() string { return proto.CompactTextString(m) }
   199  func (*LogStorageConfig) ProtoMessage()    {}
   200  func (*LogStorageConfig) Descriptor() ([]byte, []int) {
   201  	return fileDescriptor_spanner_9d8b0e1d0a3a47ae, []int{0}
   202  }
   203  func (m *LogStorageConfig) XXX_Unmarshal(b []byte) error {
   204  	return xxx_messageInfo_LogStorageConfig.Unmarshal(m, b)
   205  }
   206  func (m *LogStorageConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   207  	return xxx_messageInfo_LogStorageConfig.Marshal(b, m, deterministic)
   208  }
   209  func (dst *LogStorageConfig) XXX_Merge(src proto.Message) {
   210  	xxx_messageInfo_LogStorageConfig.Merge(dst, src)
   211  }
   212  func (m *LogStorageConfig) XXX_Size() int {
   213  	return xxx_messageInfo_LogStorageConfig.Size(m)
   214  }
   215  func (m *LogStorageConfig) XXX_DiscardUnknown() {
   216  	xxx_messageInfo_LogStorageConfig.DiscardUnknown(m)
   217  }
   218  
   219  var xxx_messageInfo_LogStorageConfig proto.InternalMessageInfo
   220  
   221  func (m *LogStorageConfig) GetNumUnseqBuckets() int64 {
   222  	if m != nil {
   223  		return m.NumUnseqBuckets
   224  	}
   225  	return 0
   226  }
   227  
   228  func (m *LogStorageConfig) GetNumMerkleBuckets() int64 {
   229  	if m != nil {
   230  		return m.NumMerkleBuckets
   231  	}
   232  	return 0
   233  }
   234  
   235  // MapStorageConfig holds settings which tune the storage implementation for
   236  // a given map tree.
   237  type MapStorageConfig struct {
   238  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
   239  	XXX_unrecognized     []byte   `json:"-"`
   240  	XXX_sizecache        int32    `json:"-"`
   241  }
   242  
   243  func (m *MapStorageConfig) Reset()         { *m = MapStorageConfig{} }
   244  func (m *MapStorageConfig) String() string { return proto.CompactTextString(m) }
   245  func (*MapStorageConfig) ProtoMessage()    {}
   246  func (*MapStorageConfig) Descriptor() ([]byte, []int) {
   247  	return fileDescriptor_spanner_9d8b0e1d0a3a47ae, []int{1}
   248  }
   249  func (m *MapStorageConfig) XXX_Unmarshal(b []byte) error {
   250  	return xxx_messageInfo_MapStorageConfig.Unmarshal(m, b)
   251  }
   252  func (m *MapStorageConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   253  	return xxx_messageInfo_MapStorageConfig.Marshal(b, m, deterministic)
   254  }
   255  func (dst *MapStorageConfig) XXX_Merge(src proto.Message) {
   256  	xxx_messageInfo_MapStorageConfig.Merge(dst, src)
   257  }
   258  func (m *MapStorageConfig) XXX_Size() int {
   259  	return xxx_messageInfo_MapStorageConfig.Size(m)
   260  }
   261  func (m *MapStorageConfig) XXX_DiscardUnknown() {
   262  	xxx_messageInfo_MapStorageConfig.DiscardUnknown(m)
   263  }
   264  
   265  var xxx_messageInfo_MapStorageConfig proto.InternalMessageInfo
   266  
   267  // TreeInfo stores information about a Trillian tree.
   268  type TreeInfo struct {
   269  	// tree_id is the ID of the tree, and is used as a primary key.
   270  	TreeId int64 `protobuf:"varint,1,opt,name=tree_id,json=treeId" json:"tree_id,omitempty"`
   271  	// key_id identifies the private key associated with this tree.
   272  	KeyId int64 `protobuf:"varint,2,opt,name=key_id,json=keyId" json:"key_id,omitempty"`
   273  	// name is a short name for this tree.
   274  	Name string `protobuf:"bytes,3,opt,name=name" json:"name,omitempty"`
   275  	// description is a short free form text describing the tree.
   276  	Description string `protobuf:"bytes,4,opt,name=description" json:"description,omitempty"`
   277  	// tree_type identifies whether this is a Log or a Map tree.
   278  	TreeType TreeType `protobuf:"varint,5,opt,name=tree_type,json=treeType,enum=spannerpb.TreeType" json:"tree_type,omitempty"`
   279  	// tree_state is the state of the tree.
   280  	TreeState TreeState `protobuf:"varint,8,opt,name=tree_state,json=treeState,enum=spannerpb.TreeState" json:"tree_state,omitempty"`
   281  	// hash_strategy is the hashing strategy used by the tree.
   282  	HashStrategy HashStrategy `protobuf:"varint,9,opt,name=hash_strategy,json=hashStrategy,enum=spannerpb.HashStrategy" json:"hash_strategy,omitempty"`
   283  	// hash_algorithm is the hash algorithm used by the tree.
   284  	HashAlgorithm HashAlgorithm `protobuf:"varint,10,opt,name=hash_algorithm,json=hashAlgorithm,enum=spannerpb.HashAlgorithm" json:"hash_algorithm,omitempty"`
   285  	// signature_algorithm is the signature algorithm used by the tree.
   286  	SignatureAlgorithm SignatureAlgorithm `protobuf:"varint,11,opt,name=signature_algorithm,json=signatureAlgorithm,enum=spannerpb.SignatureAlgorithm" json:"signature_algorithm,omitempty"`
   287  	// create_time_nanos is the creation timestamp of the tree, in nanos since
   288  	// epoch.
   289  	CreateTimeNanos int64 `protobuf:"varint,13,opt,name=create_time_nanos,json=createTimeNanos" json:"create_time_nanos,omitempty"`
   290  	// update_time_nanos is the last update time of the tree, in nanos since
   291  	// epoch.
   292  	UpdateTimeNanos int64 `protobuf:"varint,14,opt,name=update_time_nanos,json=updateTimeNanos" json:"update_time_nanos,omitempty"`
   293  	// private_key should be used to generate signatures for this tree.
   294  	PrivateKey *any.Any `protobuf:"bytes,15,opt,name=private_key,json=privateKey" json:"private_key,omitempty"`
   295  	// public_key_der should be used to verify signatures produced by this tree.
   296  	// It is the key in DER-encoded PKIX form.
   297  	PublicKeyDer []byte `protobuf:"bytes,16,opt,name=public_key_der,json=publicKeyDer,proto3" json:"public_key_der,omitempty"`
   298  	// config contains the log or map specific tree configuration.
   299  	//
   300  	// Types that are valid to be assigned to StorageConfig:
   301  	//	*TreeInfo_LogStorageConfig
   302  	//	*TreeInfo_MapStorageConfig
   303  	StorageConfig isTreeInfo_StorageConfig `protobuf_oneof:"storage_config"`
   304  	// max_root_duration_millis is the interval after which a new signed root is
   305  	// produced even if there have been no submission.  If zero, this behavior is
   306  	// disabled.
   307  	MaxRootDurationMillis int64 `protobuf:"varint,17,opt,name=max_root_duration_millis,json=maxRootDurationMillis" json:"max_root_duration_millis,omitempty"`
   308  	// If true the tree was soft deleted.
   309  	Deleted bool `protobuf:"varint,18,opt,name=deleted" json:"deleted,omitempty"`
   310  	// Time of tree deletion, if any.
   311  	DeleteTimeNanos      int64    `protobuf:"varint,19,opt,name=delete_time_nanos,json=deleteTimeNanos" json:"delete_time_nanos,omitempty"`
   312  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
   313  	XXX_unrecognized     []byte   `json:"-"`
   314  	XXX_sizecache        int32    `json:"-"`
   315  }
   316  
   317  func (m *TreeInfo) Reset()         { *m = TreeInfo{} }
   318  func (m *TreeInfo) String() string { return proto.CompactTextString(m) }
   319  func (*TreeInfo) ProtoMessage()    {}
   320  func (*TreeInfo) Descriptor() ([]byte, []int) {
   321  	return fileDescriptor_spanner_9d8b0e1d0a3a47ae, []int{2}
   322  }
   323  func (m *TreeInfo) XXX_Unmarshal(b []byte) error {
   324  	return xxx_messageInfo_TreeInfo.Unmarshal(m, b)
   325  }
   326  func (m *TreeInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   327  	return xxx_messageInfo_TreeInfo.Marshal(b, m, deterministic)
   328  }
   329  func (dst *TreeInfo) XXX_Merge(src proto.Message) {
   330  	xxx_messageInfo_TreeInfo.Merge(dst, src)
   331  }
   332  func (m *TreeInfo) XXX_Size() int {
   333  	return xxx_messageInfo_TreeInfo.Size(m)
   334  }
   335  func (m *TreeInfo) XXX_DiscardUnknown() {
   336  	xxx_messageInfo_TreeInfo.DiscardUnknown(m)
   337  }
   338  
   339  var xxx_messageInfo_TreeInfo proto.InternalMessageInfo
   340  
   341  type isTreeInfo_StorageConfig interface {
   342  	isTreeInfo_StorageConfig()
   343  }
   344  
   345  type TreeInfo_LogStorageConfig struct {
   346  	LogStorageConfig *LogStorageConfig `protobuf:"bytes,6,opt,name=log_storage_config,json=logStorageConfig,oneof"`
   347  }
   348  type TreeInfo_MapStorageConfig struct {
   349  	MapStorageConfig *MapStorageConfig `protobuf:"bytes,7,opt,name=map_storage_config,json=mapStorageConfig,oneof"`
   350  }
   351  
   352  func (*TreeInfo_LogStorageConfig) isTreeInfo_StorageConfig() {}
   353  func (*TreeInfo_MapStorageConfig) isTreeInfo_StorageConfig() {}
   354  
   355  func (m *TreeInfo) GetStorageConfig() isTreeInfo_StorageConfig {
   356  	if m != nil {
   357  		return m.StorageConfig
   358  	}
   359  	return nil
   360  }
   361  
   362  func (m *TreeInfo) GetTreeId() int64 {
   363  	if m != nil {
   364  		return m.TreeId
   365  	}
   366  	return 0
   367  }
   368  
   369  func (m *TreeInfo) GetKeyId() int64 {
   370  	if m != nil {
   371  		return m.KeyId
   372  	}
   373  	return 0
   374  }
   375  
   376  func (m *TreeInfo) GetName() string {
   377  	if m != nil {
   378  		return m.Name
   379  	}
   380  	return ""
   381  }
   382  
   383  func (m *TreeInfo) GetDescription() string {
   384  	if m != nil {
   385  		return m.Description
   386  	}
   387  	return ""
   388  }
   389  
   390  func (m *TreeInfo) GetTreeType() TreeType {
   391  	if m != nil {
   392  		return m.TreeType
   393  	}
   394  	return TreeType_UNKNOWN
   395  }
   396  
   397  func (m *TreeInfo) GetTreeState() TreeState {
   398  	if m != nil {
   399  		return m.TreeState
   400  	}
   401  	return TreeState_UNKNOWN_TREE_STATE
   402  }
   403  
   404  func (m *TreeInfo) GetHashStrategy() HashStrategy {
   405  	if m != nil {
   406  		return m.HashStrategy
   407  	}
   408  	return HashStrategy_UNKNOWN_HASH_STRATEGY
   409  }
   410  
   411  func (m *TreeInfo) GetHashAlgorithm() HashAlgorithm {
   412  	if m != nil {
   413  		return m.HashAlgorithm
   414  	}
   415  	return HashAlgorithm_NONE
   416  }
   417  
   418  func (m *TreeInfo) GetSignatureAlgorithm() SignatureAlgorithm {
   419  	if m != nil {
   420  		return m.SignatureAlgorithm
   421  	}
   422  	return SignatureAlgorithm_ANONYMOUS
   423  }
   424  
   425  func (m *TreeInfo) GetCreateTimeNanos() int64 {
   426  	if m != nil {
   427  		return m.CreateTimeNanos
   428  	}
   429  	return 0
   430  }
   431  
   432  func (m *TreeInfo) GetUpdateTimeNanos() int64 {
   433  	if m != nil {
   434  		return m.UpdateTimeNanos
   435  	}
   436  	return 0
   437  }
   438  
   439  func (m *TreeInfo) GetPrivateKey() *any.Any {
   440  	if m != nil {
   441  		return m.PrivateKey
   442  	}
   443  	return nil
   444  }
   445  
   446  func (m *TreeInfo) GetPublicKeyDer() []byte {
   447  	if m != nil {
   448  		return m.PublicKeyDer
   449  	}
   450  	return nil
   451  }
   452  
   453  func (m *TreeInfo) GetLogStorageConfig() *LogStorageConfig {
   454  	if x, ok := m.GetStorageConfig().(*TreeInfo_LogStorageConfig); ok {
   455  		return x.LogStorageConfig
   456  	}
   457  	return nil
   458  }
   459  
   460  func (m *TreeInfo) GetMapStorageConfig() *MapStorageConfig {
   461  	if x, ok := m.GetStorageConfig().(*TreeInfo_MapStorageConfig); ok {
   462  		return x.MapStorageConfig
   463  	}
   464  	return nil
   465  }
   466  
   467  func (m *TreeInfo) GetMaxRootDurationMillis() int64 {
   468  	if m != nil {
   469  		return m.MaxRootDurationMillis
   470  	}
   471  	return 0
   472  }
   473  
   474  func (m *TreeInfo) GetDeleted() bool {
   475  	if m != nil {
   476  		return m.Deleted
   477  	}
   478  	return false
   479  }
   480  
   481  func (m *TreeInfo) GetDeleteTimeNanos() int64 {
   482  	if m != nil {
   483  		return m.DeleteTimeNanos
   484  	}
   485  	return 0
   486  }
   487  
   488  // XXX_OneofFuncs is for the internal use of the proto package.
   489  func (*TreeInfo) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
   490  	return _TreeInfo_OneofMarshaler, _TreeInfo_OneofUnmarshaler, _TreeInfo_OneofSizer, []interface{}{
   491  		(*TreeInfo_LogStorageConfig)(nil),
   492  		(*TreeInfo_MapStorageConfig)(nil),
   493  	}
   494  }
   495  
   496  func _TreeInfo_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
   497  	m := msg.(*TreeInfo)
   498  	// storage_config
   499  	switch x := m.StorageConfig.(type) {
   500  	case *TreeInfo_LogStorageConfig:
   501  		b.EncodeVarint(6<<3 | proto.WireBytes)
   502  		if err := b.EncodeMessage(x.LogStorageConfig); err != nil {
   503  			return err
   504  		}
   505  	case *TreeInfo_MapStorageConfig:
   506  		b.EncodeVarint(7<<3 | proto.WireBytes)
   507  		if err := b.EncodeMessage(x.MapStorageConfig); err != nil {
   508  			return err
   509  		}
   510  	case nil:
   511  	default:
   512  		return fmt.Errorf("TreeInfo.StorageConfig has unexpected type %T", x)
   513  	}
   514  	return nil
   515  }
   516  
   517  func _TreeInfo_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
   518  	m := msg.(*TreeInfo)
   519  	switch tag {
   520  	case 6: // storage_config.log_storage_config
   521  		if wire != proto.WireBytes {
   522  			return true, proto.ErrInternalBadWireType
   523  		}
   524  		msg := new(LogStorageConfig)
   525  		err := b.DecodeMessage(msg)
   526  		m.StorageConfig = &TreeInfo_LogStorageConfig{msg}
   527  		return true, err
   528  	case 7: // storage_config.map_storage_config
   529  		if wire != proto.WireBytes {
   530  			return true, proto.ErrInternalBadWireType
   531  		}
   532  		msg := new(MapStorageConfig)
   533  		err := b.DecodeMessage(msg)
   534  		m.StorageConfig = &TreeInfo_MapStorageConfig{msg}
   535  		return true, err
   536  	default:
   537  		return false, nil
   538  	}
   539  }
   540  
   541  func _TreeInfo_OneofSizer(msg proto.Message) (n int) {
   542  	m := msg.(*TreeInfo)
   543  	// storage_config
   544  	switch x := m.StorageConfig.(type) {
   545  	case *TreeInfo_LogStorageConfig:
   546  		s := proto.Size(x.LogStorageConfig)
   547  		n += 1 // tag and wire
   548  		n += proto.SizeVarint(uint64(s))
   549  		n += s
   550  	case *TreeInfo_MapStorageConfig:
   551  		s := proto.Size(x.MapStorageConfig)
   552  		n += 1 // tag and wire
   553  		n += proto.SizeVarint(uint64(s))
   554  		n += s
   555  	case nil:
   556  	default:
   557  		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
   558  	}
   559  	return n
   560  }
   561  
   562  // TreeHead is the storage format for Trillian's commitment to a particular
   563  // tree state.
   564  type TreeHead struct {
   565  	// tree_id identifies the tree this TreeHead is built from.
   566  	TreeId int64 `protobuf:"varint,1,opt,name=tree_id,json=treeId" json:"tree_id,omitempty"`
   567  	// ts_nanos is the nanosecond resolution timestamp at which the
   568  	// TreeHead was created.
   569  	TsNanos int64 `protobuf:"varint,2,opt,name=ts_nanos,json=tsNanos" json:"ts_nanos,omitempty"`
   570  	// tree_size is the number of entries in the tree.
   571  	TreeSize int64 `protobuf:"varint,3,opt,name=tree_size,json=treeSize" json:"tree_size,omitempty"`
   572  	// root_hash is the root of the tree.
   573  	RootHash []byte `protobuf:"bytes,4,opt,name=root_hash,json=rootHash,proto3" json:"root_hash,omitempty"`
   574  	// signature holds the raw digital signature across the serialized log_root
   575  	// (not present) represented by the data in this TreeHead.
   576  	Signature []byte `protobuf:"bytes,10,opt,name=signature,proto3" json:"signature,omitempty"`
   577  	// tree_revision identifies the revision at which the TreeHead was created.
   578  	TreeRevision         int64    `protobuf:"varint,6,opt,name=tree_revision,json=treeRevision" json:"tree_revision,omitempty"`
   579  	Metadata             []byte   `protobuf:"bytes,9,opt,name=metadata,proto3" json:"metadata,omitempty"`
   580  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
   581  	XXX_unrecognized     []byte   `json:"-"`
   582  	XXX_sizecache        int32    `json:"-"`
   583  }
   584  
   585  func (m *TreeHead) Reset()         { *m = TreeHead{} }
   586  func (m *TreeHead) String() string { return proto.CompactTextString(m) }
   587  func (*TreeHead) ProtoMessage()    {}
   588  func (*TreeHead) Descriptor() ([]byte, []int) {
   589  	return fileDescriptor_spanner_9d8b0e1d0a3a47ae, []int{3}
   590  }
   591  func (m *TreeHead) XXX_Unmarshal(b []byte) error {
   592  	return xxx_messageInfo_TreeHead.Unmarshal(m, b)
   593  }
   594  func (m *TreeHead) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   595  	return xxx_messageInfo_TreeHead.Marshal(b, m, deterministic)
   596  }
   597  func (dst *TreeHead) XXX_Merge(src proto.Message) {
   598  	xxx_messageInfo_TreeHead.Merge(dst, src)
   599  }
   600  func (m *TreeHead) XXX_Size() int {
   601  	return xxx_messageInfo_TreeHead.Size(m)
   602  }
   603  func (m *TreeHead) XXX_DiscardUnknown() {
   604  	xxx_messageInfo_TreeHead.DiscardUnknown(m)
   605  }
   606  
   607  var xxx_messageInfo_TreeHead proto.InternalMessageInfo
   608  
   609  func (m *TreeHead) GetTreeId() int64 {
   610  	if m != nil {
   611  		return m.TreeId
   612  	}
   613  	return 0
   614  }
   615  
   616  func (m *TreeHead) GetTsNanos() int64 {
   617  	if m != nil {
   618  		return m.TsNanos
   619  	}
   620  	return 0
   621  }
   622  
   623  func (m *TreeHead) GetTreeSize() int64 {
   624  	if m != nil {
   625  		return m.TreeSize
   626  	}
   627  	return 0
   628  }
   629  
   630  func (m *TreeHead) GetRootHash() []byte {
   631  	if m != nil {
   632  		return m.RootHash
   633  	}
   634  	return nil
   635  }
   636  
   637  func (m *TreeHead) GetSignature() []byte {
   638  	if m != nil {
   639  		return m.Signature
   640  	}
   641  	return nil
   642  }
   643  
   644  func (m *TreeHead) GetTreeRevision() int64 {
   645  	if m != nil {
   646  		return m.TreeRevision
   647  	}
   648  	return 0
   649  }
   650  
   651  func (m *TreeHead) GetMetadata() []byte {
   652  	if m != nil {
   653  		return m.Metadata
   654  	}
   655  	return nil
   656  }
   657  
   658  func init() {
   659  	proto.RegisterType((*LogStorageConfig)(nil), "spannerpb.LogStorageConfig")
   660  	proto.RegisterType((*MapStorageConfig)(nil), "spannerpb.MapStorageConfig")
   661  	proto.RegisterType((*TreeInfo)(nil), "spannerpb.TreeInfo")
   662  	proto.RegisterType((*TreeHead)(nil), "spannerpb.TreeHead")
   663  	proto.RegisterEnum("spannerpb.TreeState", TreeState_name, TreeState_value)
   664  	proto.RegisterEnum("spannerpb.TreeType", TreeType_name, TreeType_value)
   665  	proto.RegisterEnum("spannerpb.HashStrategy", HashStrategy_name, HashStrategy_value)
   666  	proto.RegisterEnum("spannerpb.HashAlgorithm", HashAlgorithm_name, HashAlgorithm_value)
   667  	proto.RegisterEnum("spannerpb.SignatureAlgorithm", SignatureAlgorithm_name, SignatureAlgorithm_value)
   668  }
   669  
   670  func init() { proto.RegisterFile("spanner.proto", fileDescriptor_spanner_9d8b0e1d0a3a47ae) }
   671  
   672  var fileDescriptor_spanner_9d8b0e1d0a3a47ae = []byte{
   673  	// 950 bytes of a gzipped FileDescriptorProto
   674  	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x55, 0xed, 0x6e, 0x1a, 0x47,
   675  	0x14, 0xf5, 0x1a, 0x0c, 0xcb, 0x35, 0xd8, 0xe3, 0x71, 0xdc, 0xac, 0x93, 0x56, 0x42, 0x6e, 0x2b,
   676  	0x51, 0x54, 0x41, 0xeb, 0xc8, 0x8e, 0xa2, 0x54, 0xaa, 0xd6, 0x18, 0x07, 0x9b, 0xb0, 0x44, 0xb3,
   677  	0xeb, 0x56, 0xc9, 0x9f, 0xd5, 0xc0, 0x8e, 0x61, 0xe5, 0xfd, 0xea, 0xee, 0x6c, 0x14, 0xf2, 0xa3,
   678  	0x4f, 0xd0, 0x17, 0xed, 0x5b, 0x54, 0x33, 0xb3, 0x60, 0x8c, 0xd5, 0x7f, 0x33, 0xe7, 0x9e, 0x73,
   679  	0xaf, 0xe7, 0xfa, 0x9c, 0x05, 0x1a, 0x59, 0x42, 0xa3, 0x88, 0xa5, 0x9d, 0x24, 0x8d, 0x79, 0x8c,
   680  	0x6b, 0xc5, 0x35, 0x99, 0xbc, 0x38, 0x9e, 0xc5, 0xf1, 0x2c, 0x60, 0x5d, 0x59, 0x98, 0xe4, 0x77,
   681  	0x5d, 0x1a, 0x2d, 0x14, 0xeb, 0x24, 0x00, 0xf4, 0x3e, 0x9e, 0xd9, 0x3c, 0x4e, 0xe9, 0x8c, 0xf5,
   682  	0xe2, 0xe8, 0xce, 0x9f, 0xe1, 0x36, 0x1c, 0x44, 0x79, 0xe8, 0xe6, 0x51, 0xc6, 0xfe, 0x72, 0x27,
   683  	0xf9, 0xf4, 0x9e, 0xf1, 0xcc, 0xd0, 0x9a, 0x5a, 0xab, 0x44, 0xf6, 0xa3, 0x3c, 0xbc, 0x15, 0xf8,
   684  	0x85, 0x82, 0xf1, 0xcf, 0x80, 0x05, 0x37, 0x64, 0xe9, 0x7d, 0xc0, 0x56, 0xe4, 0x6d, 0x49, 0x46,
   685  	0x51, 0x1e, 0x8e, 0x64, 0xa1, 0x60, 0x9f, 0x60, 0x40, 0x23, 0x9a, 0x3c, 0x9a, 0x76, 0xf2, 0x4f,
   686  	0x15, 0x74, 0x27, 0x65, 0xec, 0x3a, 0xba, 0x8b, 0xf1, 0x73, 0xa8, 0xf2, 0x94, 0x31, 0xd7, 0xf7,
   687  	0x8a, 0x81, 0x15, 0x71, 0xbd, 0xf6, 0xf0, 0x11, 0x54, 0xee, 0xd9, 0x42, 0xe0, 0xaa, 0xf7, 0xce,
   688  	0x3d, 0x5b, 0x5c, 0x7b, 0x18, 0x43, 0x39, 0xa2, 0x21, 0x33, 0x4a, 0x4d, 0xad, 0x55, 0x23, 0xf2,
   689  	0x8c, 0x9b, 0xb0, 0xeb, 0xb1, 0x6c, 0x9a, 0xfa, 0x09, 0xf7, 0xe3, 0xc8, 0x28, 0xcb, 0xd2, 0x3a,
   690  	0x84, 0x7f, 0x81, 0x9a, 0x9c, 0xc2, 0x17, 0x09, 0x33, 0x76, 0x9a, 0x5a, 0x6b, 0xef, 0xf4, 0xb0,
   691  	0xb3, 0x5a, 0x57, 0x47, 0xfc, 0x35, 0xce, 0x22, 0x61, 0x44, 0xe7, 0xc5, 0x09, 0xbf, 0x02, 0x90,
   692  	0x8a, 0x8c, 0x53, 0xce, 0x0c, 0x5d, 0x4a, 0x9e, 0x6d, 0x48, 0x6c, 0x51, 0x23, 0xb2, 0xb3, 0x3c,
   693  	0xe2, 0xdf, 0xa0, 0x31, 0xa7, 0xd9, 0xdc, 0xcd, 0x78, 0x4a, 0x39, 0x9b, 0x2d, 0x8c, 0x9a, 0xd4,
   694  	0x3d, 0x5f, 0xd3, 0x0d, 0x68, 0x36, 0xb7, 0x8b, 0x32, 0xa9, 0xcf, 0xd7, 0x6e, 0xf8, 0x77, 0xd8,
   695  	0x93, 0x6a, 0x1a, 0xcc, 0xe2, 0xd4, 0xe7, 0xf3, 0xd0, 0x00, 0x29, 0x37, 0x36, 0xe4, 0xe6, 0xb2,
   696  	0x4e, 0xe4, 0xb4, 0xd5, 0x15, 0x5b, 0x70, 0x98, 0xf9, 0xb3, 0x88, 0xf2, 0x3c, 0x65, 0x6b, 0x5d,
   697  	0x76, 0x65, 0x97, 0xef, 0xd6, 0xba, 0xd8, 0x4b, 0xd6, 0x43, 0x2b, 0x9c, 0x3d, 0xc1, 0x84, 0x2d,
   698  	0xa6, 0x29, 0xa3, 0x9c, 0xb9, 0xdc, 0x0f, 0x99, 0x1b, 0xd1, 0x28, 0xce, 0x8c, 0x86, 0xb2, 0x85,
   699  	0x2a, 0x38, 0x7e, 0xc8, 0x2c, 0x01, 0x0b, 0x6e, 0x9e, 0x78, 0x1b, 0xdc, 0x3d, 0xc5, 0x55, 0x85,
   700  	0x07, 0xee, 0x19, 0xec, 0x26, 0xa9, 0xff, 0x59, 0x90, 0xef, 0xd9, 0xc2, 0xd8, 0x6f, 0x6a, 0xad,
   701  	0xdd, 0xd3, 0x67, 0x1d, 0xe5, 0xd9, 0xce, 0xd2, 0xb3, 0x1d, 0x33, 0x5a, 0x10, 0x28, 0x88, 0x43,
   702  	0xb6, 0xc0, 0x3f, 0xc0, 0x5e, 0x92, 0x4f, 0x02, 0x7f, 0x2a, 0x54, 0xae, 0xc7, 0x52, 0x03, 0x35,
   703  	0xb5, 0x56, 0x9d, 0xd4, 0x15, 0x3a, 0x64, 0x8b, 0x4b, 0x96, 0xe2, 0x21, 0xe0, 0x20, 0x9e, 0xb9,
   704  	0x99, 0xb2, 0x9c, 0x3b, 0x95, 0x9e, 0x33, 0x2a, 0x72, 0xc6, 0xcb, 0xb5, 0x1d, 0x6c, 0x86, 0x60,
   705  	0xb0, 0x45, 0x50, 0xb0, 0x19, 0x8c, 0x21, 0xe0, 0x90, 0x26, 0x9b, 0xcd, 0xaa, 0x4f, 0x9a, 0x6d,
   706  	0x7a, 0x5c, 0x34, 0x0b, 0x37, 0x30, 0xfc, 0x1a, 0x8c, 0x90, 0x7e, 0x71, 0xd3, 0x38, 0xe6, 0xae,
   707  	0x97, 0xa7, 0x54, 0x38, 0xd3, 0x0d, 0xfd, 0x20, 0xf0, 0x33, 0xe3, 0x40, 0x6e, 0xea, 0x28, 0xa4,
   708  	0x5f, 0x48, 0x1c, 0xf3, 0xcb, 0xa2, 0x3a, 0x92, 0x45, 0x6c, 0x40, 0xd5, 0x63, 0x01, 0xe3, 0xcc,
   709  	0x33, 0x70, 0x53, 0x6b, 0xe9, 0x64, 0x79, 0x15, 0x5b, 0x57, 0xc7, 0xf5, 0xad, 0x1f, 0xaa, 0xad,
   710  	0xab, 0xc2, 0x6a, 0xeb, 0x17, 0x08, 0xf6, 0x1e, 0xbf, 0xe3, 0xa6, 0xac, 0xd7, 0x51, 0xe3, 0xe4,
   711  	0x5f, 0x4d, 0xc5, 0x71, 0xc0, 0xa8, 0xf7, 0xff, 0x71, 0x3c, 0x06, 0x9d, 0x67, 0xc5, 0x00, 0x15,
   712  	0xc8, 0x2a, 0xcf, 0xd4, 0xbf, 0xf3, 0x65, 0x11, 0xae, 0xcc, 0xff, 0xaa, 0x72, 0x59, 0x52, 0x39,
   713  	0xb2, 0xfd, 0xaf, 0x4c, 0x14, 0xe5, 0x83, 0x85, 0x53, 0x65, 0x32, 0xeb, 0x44, 0x17, 0x80, 0x30,
   714  	0x32, 0xfe, 0x16, 0x6a, 0x2b, 0xdb, 0x49, 0xb3, 0xd7, 0xc9, 0x03, 0x80, 0xbf, 0x87, 0x86, 0xec,
   715  	0x9b, 0xb2, 0xcf, 0x7e, 0x26, 0x82, 0x5d, 0x91, 0xbd, 0xeb, 0x02, 0x24, 0x05, 0x86, 0x5f, 0x80,
   716  	0x1e, 0x32, 0x4e, 0x3d, 0xca, 0xa9, 0x4c, 0x5b, 0x9d, 0xac, 0xee, 0x37, 0x65, 0x7d, 0x07, 0x55,
   717  	0x6e, 0xca, 0xba, 0x8e, 0x6a, 0x37, 0x65, 0xbd, 0x8a, 0xf4, 0xf6, 0x5b, 0xa8, 0xad, 0x82, 0x8b,
   718  	0xbf, 0x01, 0x7c, 0x6b, 0x0d, 0xad, 0xf1, 0x9f, 0x96, 0xeb, 0x90, 0x7e, 0xdf, 0xb5, 0x1d, 0xd3,
   719  	0xe9, 0xa3, 0x2d, 0x0c, 0x50, 0x31, 0x7b, 0xce, 0xf5, 0x1f, 0x7d, 0xa4, 0x89, 0xf3, 0x15, 0x19,
   720  	0x7f, 0xea, 0x5b, 0x68, 0xbb, 0xfd, 0x93, 0xda, 0x93, 0xfc, 0x3c, 0xec, 0x42, 0xb5, 0xd0, 0xa2,
   721  	0x2d, 0x5c, 0x85, 0xd2, 0xfb, 0xf1, 0x3b, 0xa4, 0x89, 0xc3, 0xc8, 0xfc, 0x80, 0xb6, 0xdb, 0x7f,
   722  	0x43, 0x7d, 0x3d, 0xe8, 0xf8, 0x18, 0x8e, 0x96, 0xa3, 0x06, 0xa6, 0x3d, 0x70, 0x6d, 0x87, 0x98,
   723  	0x4e, 0xff, 0xdd, 0x47, 0xb4, 0x85, 0xeb, 0xa0, 0x93, 0xab, 0x9e, 0x7b, 0xfe, 0xe6, 0xfc, 0x14,
   724  	0x69, 0xf8, 0x10, 0xf6, 0x9d, 0xbe, 0xed, 0xb8, 0x23, 0xf3, 0x83, 0x64, 0xf6, 0x09, 0xda, 0x16,
   725  	0xea, 0xf1, 0xc5, 0x4d, 0xbf, 0xe7, 0xb8, 0xe4, 0xaa, 0x27, 0x88, 0xae, 0x3d, 0x30, 0x4f, 0xcf,
   726  	0xce, 0x51, 0x09, 0x1f, 0xc1, 0x41, 0x6f, 0x6c, 0x5d, 0x0f, 0x6d, 0x01, 0x9d, 0xfd, 0x7a, 0xea,
   727  	0x0a, 0xb8, 0xdc, 0xfe, 0x11, 0x1a, 0x8f, 0xbe, 0x14, 0x58, 0x87, 0xb2, 0x35, 0xb6, 0x8a, 0xd7,
   728  	0x15, 0xea, 0x72, 0xfb, 0x35, 0xe0, 0xa7, 0x9f, 0x02, 0xdc, 0x80, 0x9a, 0x69, 0x8d, 0xad, 0x8f,
   729  	0xa3, 0xf1, 0xad, 0xad, 0x5e, 0x47, 0x6c, 0x13, 0x69, 0xb8, 0x06, 0x3b, 0xfd, 0xde, 0xa5, 0x6d,
   730  	0xa2, 0xd2, 0xc5, 0xdb, 0x4f, 0x6f, 0x66, 0x3e, 0x9f, 0xe7, 0x93, 0xce, 0x34, 0x0e, 0xbb, 0xc5,
   731  	0x8f, 0x0d, 0x4f, 0x85, 0x5d, 0x69, 0xd4, 0x2d, 0x6c, 0xd6, 0x9d, 0x06, 0x71, 0xee, 0x15, 0x21,
   732  	0xe9, 0xae, 0xc2, 0x32, 0xa9, 0xc8, 0x84, 0xbf, 0xfa, 0x2f, 0x00, 0x00, 0xff, 0xff, 0x4d, 0xcf,
   733  	0xfb, 0xcd, 0xbf, 0x06, 0x00, 0x00,
   734  }