github.com/mre-fog/trillianxx@v1.1.2-0.20180615153820-ae375a99d36a/storage/cloudspanner/spannerpb/spanner.pb.go (about)

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