momento 0.2.0 → 0.4.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. checksums.yaml +4 -4
  2. data/.release-please-manifest.json +1 -1
  3. data/.rubocop.yml +14 -1
  4. data/.ruby-version +1 -1
  5. data/CHANGELOG.md +91 -0
  6. data/CONTRIBUTING.md +5 -6
  7. data/Gemfile +1 -6
  8. data/Gemfile.lock +30 -24
  9. data/README.md +53 -43
  10. data/README.template.md +30 -25
  11. data/examples/Gemfile +1 -1
  12. data/examples/README.md +3 -3
  13. data/examples/compact.rb +12 -8
  14. data/examples/example.rb +13 -7
  15. data/examples/file.rb +6 -5
  16. data/lib/README-generating-pb.txt +1 -1
  17. data/lib/momento/auth/credential_provider.rb +78 -0
  18. data/lib/momento/cache_client.rb +457 -0
  19. data/lib/momento/collection_ttl.rb +79 -0
  20. data/lib/momento/config/configuration.rb +16 -0
  21. data/lib/momento/config/configurations.rb +17 -0
  22. data/lib/momento/config/transport/grpc_configuration.rb +25 -0
  23. data/lib/momento/config/transport/static_transport_strategy.rb +12 -0
  24. data/lib/momento/config/transport/transport_strategy.rb +16 -0
  25. data/lib/momento/error/types.rb +15 -0
  26. data/lib/momento/generated/README.md +16 -0
  27. data/lib/momento/generated/auth_pb.rb +52 -0
  28. data/lib/momento/generated/auth_services_pb.rb +27 -0
  29. data/lib/momento/generated/cacheclient_pb.rb +203 -0
  30. data/lib/momento/generated/cacheclient_services_pb.rb +90 -0
  31. data/lib/momento/generated/cacheping_pb.rb +38 -0
  32. data/lib/momento/generated/cacheping_services_pb.rb +23 -0
  33. data/lib/momento/generated/cachepubsub_pb.rb +48 -0
  34. data/lib/momento/generated/cachepubsub_services_pb.rb +56 -0
  35. data/lib/momento/generated/common_pb.rb +44 -0
  36. data/lib/momento/generated/controlclient_pb.rb +72 -0
  37. data/lib/momento/generated/controlclient_services_pb.rb +35 -0
  38. data/lib/momento/generated/extensions_pb.rb +35 -0
  39. data/lib/momento/generated/generate_protos.sh +47 -0
  40. data/lib/momento/generated/leaderboard_pb.rb +56 -0
  41. data/lib/momento/generated/leaderboard_services_pb.rb +57 -0
  42. data/lib/momento/generated/permissionmessages_pb.rb +48 -0
  43. data/lib/momento/generated/token_pb.rb +43 -0
  44. data/lib/momento/generated/token_services_pb.rb +23 -0
  45. data/lib/momento/generated/webhook_pb.rb +49 -0
  46. data/lib/momento/generated/webhook_services_pb.rb +32 -0
  47. data/lib/momento/response/control/create_cache_response.rb +61 -0
  48. data/lib/momento/{delete_cache_response_builder.rb → response/control/delete_cache_response.rb} +24 -3
  49. data/lib/momento/response/control/list_caches_response.rb +80 -0
  50. data/lib/momento/{delete_response_builder.rb → response/delete_response.rb} +24 -2
  51. data/lib/momento/{get_response.rb → response/get_response.rb} +39 -9
  52. data/lib/momento/{response.rb → response/response.rb} +11 -14
  53. data/lib/momento/response/set_response.rb +59 -0
  54. data/lib/momento/response/sort_order.rb +11 -0
  55. data/lib/momento/response/sorted_set/sorted_set_fetch_response.rb +107 -0
  56. data/lib/momento/response/sorted_set/sorted_set_put_element_response.rb +44 -0
  57. data/lib/momento/response/sorted_set/sorted_set_put_elements_response.rb +44 -0
  58. data/lib/momento/version.rb +1 -1
  59. data/lib/momento.rb +6 -1
  60. data/momento.gemspec +5 -3
  61. data/release-please-config.json +1 -1
  62. data/sig/momento/auth/credential_provider.rbs +11 -0
  63. data/sig/momento/cache_client.rbs +12 -0
  64. data/sig/momento/collection_ttl.rbs +22 -0
  65. data/sig/momento/config/configuration.rbs +9 -0
  66. data/sig/momento/config/configurations.rbs +9 -0
  67. data/sig/momento/config/transport/grpc_configuration.rbs +7 -0
  68. data/sig/momento/config/transport/transport_strategy.rbs +7 -0
  69. data/sig/momento/list_caches_response.rbs +7 -0
  70. data/sig/momento/sorted_set_fetch_response.rbs +13 -0
  71. data/sig/momento/sorted_set_put_element_response.rbs +5 -0
  72. data/sig/momento/sorted_set_put_elements_response.rbs +5 -0
  73. metadata +101 -40
  74. data/lib/momento/cacheclient_pb.rb +0 -334
  75. data/lib/momento/cacheclient_services_pb.rb +0 -44
  76. data/lib/momento/controlclient_pb.rb +0 -73
  77. data/lib/momento/controlclient_services_pb.rb +0 -31
  78. data/lib/momento/create_cache_response.rb +0 -37
  79. data/lib/momento/create_cache_response_builder.rb +0 -27
  80. data/lib/momento/delete_cache_response.rb +0 -24
  81. data/lib/momento/delete_response.rb +0 -24
  82. data/lib/momento/get_response_builder.rb +0 -37
  83. data/lib/momento/list_caches_response.rb +0 -77
  84. data/lib/momento/list_caches_response_builder.rb +0 -25
  85. data/lib/momento/set_response.rb +0 -39
  86. data/lib/momento/set_response_builder.rb +0 -25
  87. data/lib/momento/simple_cache_client.rb +0 -336
  88. /data/lib/momento/{response_builder.rb → response/response_builder.rb} +0 -0
@@ -0,0 +1,48 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
4
+ # source: cachepubsub.proto
5
+
6
+ require 'google/protobuf'
7
+
8
+ require_relative 'common_pb'
9
+ require_relative 'extensions_pb'
10
+
11
+ descriptor_data = "\n\x11\x63\x61\x63hepubsub.proto\x12\x13\x63\x61\x63he_client.pubsub\x1a\x0c\x63ommon.proto\x1a\x10\x65xtensions.proto\"k\n\x0f_PublishRequest\x12\x12\n\ncache_name\x18\x01 \x01(\t\x12\r\n\x05topic\x18\x02 \x01(\t\x12/\n\x05value\x18\x03 \x01(\x0b\x32 .cache_client.pubsub._TopicValue:\x04\x80\xb5\x18\x00\"h\n\x14_SubscriptionRequest\x12\x12\n\ncache_name\x18\x01 \x01(\t\x12\r\n\x05topic\x18\x02 \x01(\t\x12'\n\x1fresume_at_topic_sequence_number\x18\x03 \x01(\x04:\x04\x80\xb5\x18\x01\"\xc0\x01\n\x11_SubscriptionItem\x12/\n\x04item\x18\x01 \x01(\x0b\x32\x1f.cache_client.pubsub._TopicItemH\x00\x12<\n\rdiscontinuity\x18\x02 \x01(\x0b\x32#.cache_client.pubsub._DiscontinuityH\x00\x12\x34\n\theartbeat\x18\x03 \x01(\x0b\x32\x1f.cache_client.pubsub._HeartbeatH\x00\x42\x06\n\x04kind\"r\n\n_TopicItem\x12\x1d\n\x15topic_sequence_number\x18\x01 \x01(\x04\x12/\n\x05value\x18\x02 \x01(\x0b\x32 .cache_client.pubsub._TopicValue\x12\x14\n\x0cpublisher_id\x18\x03 \x01(\t\"7\n\x0b_TopicValue\x12\x0e\n\x04text\x18\x01 \x01(\tH\x00\x12\x10\n\x06\x62inary\x18\x02 \x01(\x0cH\x00\x42\x06\n\x04kind\"I\n\x0e_Discontinuity\x12\x1b\n\x13last_topic_sequence\x18\x01 \x01(\x04\x12\x1a\n\x12new_topic_sequence\x18\x02 \x01(\x04\"\x0c\n\n_Heartbeat2\xab\x01\n\x06Pubsub\x12?\n\x07Publish\x12$.cache_client.pubsub._PublishRequest\x1a\x0e.common._Empty\x12`\n\tSubscribe\x12).cache_client.pubsub._SubscriptionRequest\x1a&.cache_client.pubsub._SubscriptionItem0\x01\x42r\n\x18grpc.cache_client.pubsubP\x01Z0github.com/momentohq/client-sdk-go;client_sdk_go\xaa\x02!Momento.Protos.CacheClient.Pubsubb\x06proto3"
12
+
13
+ pool = Google::Protobuf::DescriptorPool.generated_pool
14
+
15
+ begin
16
+ pool.add_serialized_file(descriptor_data)
17
+ rescue TypeError
18
+ # Compatibility code: will be removed in the next major version.
19
+ require_relative 'google/protobuf/descriptor_pb'
20
+ parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
21
+ parsed.clear_dependency
22
+ serialized = parsed.class.encode(parsed)
23
+ file = pool.add_serialized_file(serialized)
24
+ warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
25
+ imports = []
26
+ imports.each do |type_name, expected_filename|
27
+ import_file = pool.lookup(type_name).file_descriptor
28
+ if import_file.name != expected_filename
29
+ warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
30
+ end
31
+ end
32
+ warn "Each proto file must use a consistent fully-qualified name."
33
+ warn "This will become an error in the next major version."
34
+ end
35
+
36
+ module MomentoProtos
37
+ module CacheClient
38
+ module Pubsub
39
+ PB__PublishRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cache_client.pubsub._PublishRequest").msgclass
40
+ PB__SubscriptionRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cache_client.pubsub._SubscriptionRequest").msgclass
41
+ PB__SubscriptionItem = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cache_client.pubsub._SubscriptionItem").msgclass
42
+ PB__TopicItem = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cache_client.pubsub._TopicItem").msgclass
43
+ PB__TopicValue = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cache_client.pubsub._TopicValue").msgclass
44
+ PB__Discontinuity = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cache_client.pubsub._Discontinuity").msgclass
45
+ PB__Heartbeat = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cache_client.pubsub._Heartbeat").msgclass
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,56 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # Source: cachepubsub.proto for package 'cache_client.pubsub'
3
+
4
+ require 'grpc'
5
+ require_relative 'cachepubsub_pb'
6
+
7
+ module MomentoProtos
8
+ module CacheClient
9
+ module Pubsub
10
+ module Pubsub
11
+ # For working with topics in a cache.
12
+ # Momento topics are conceptually located on a cache. They are best-effort multicast.
13
+ # To use them, create a cache then start subscribing and publishing!
14
+ #
15
+ # Momento topic subscriptions try to give you information about the quality of the
16
+ # stream you are receiving. For example, you might miss messages if your network
17
+ # is slow, or if some intermediate switch fails, or due to rate limiting. It is
18
+ # also possible, though we try to avoid it, that messages could briefly come out
19
+ # of order between subscribers.
20
+ # We try to tell you when things like this happen via a Discontinuity in your
21
+ # subscription stream. If you do not care about occasional discontinuities then
22
+ # don't bother handling them! You might still want to log them just in case ;-)
23
+ class Service
24
+ include ::GRPC::GenericService
25
+
26
+ self.marshal_class_method = :encode
27
+ self.unmarshal_class_method = :decode
28
+ self.service_name = 'cache_client.pubsub.Pubsub'
29
+
30
+ # Publish a message to a topic.
31
+ #
32
+ # If a topic has no subscribers, then the effect of Publish MAY be either of:
33
+ # * It is dropped and the topic is nonexistent.
34
+ # * It is accepted to the topic as the next message.
35
+ #
36
+ # Publish() does not wait for subscribers to accept. It returns Ok upon accepting
37
+ # the topic value. It also returns Ok if there are no subscribers and the value
38
+ # happens to be dropped. Publish() can not guarantee delivery in theory but in
39
+ # practice it should almost always deliver to subscribers.
40
+ #
41
+ # REQUIRES HEADER authorization: Momento auth token
42
+ rpc :Publish, ::MomentoProtos::CacheClient::Pubsub::PB__PublishRequest, ::Common::PB__Empty
43
+ # Subscribe to notifications from a topic.
44
+ #
45
+ # You will receive a stream of values and (hopefully occasional) discontinuities.
46
+ # Values will appear as copies of the payloads you Publish() to the topic.
47
+ #
48
+ # REQUIRES HEADER authorization: Momento auth token
49
+ rpc :Subscribe, ::MomentoProtos::CacheClient::Pubsub::PB__SubscriptionRequest, stream(::MomentoProtos::CacheClient::Pubsub::PB__SubscriptionItem)
50
+ end
51
+
52
+ Stub = Service.rpc_stub_class
53
+ end
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,44 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
4
+ # source: common.proto
5
+
6
+ require 'google/protobuf'
7
+
8
+ descriptor_data = "\n\x0c\x63ommon.proto\x12\x06\x63ommon\"\t\n\x07Present\",\n\x12PresentAndNotEqual\x12\x16\n\x0evalue_to_check\x18\x01 \x01(\x0c\"\x08\n\x06\x41\x62sent\"\x1f\n\x05\x45qual\x12\x16\n\x0evalue_to_check\x18\x01 \x01(\x0c\"'\n\rAbsentOrEqual\x12\x16\n\x0evalue_to_check\x18\x01 \x01(\x0c\"\"\n\x08NotEqual\x12\x16\n\x0evalue_to_check\x18\x01 \x01(\x0c\"\x0c\n\n_Unbounded\"\x08\n\x06_EmptyBY\n\x0bgrpc.commonP\x01Z0github.com/momentohq/client-sdk-go;client_sdk_go\xaa\x02\x15Momento.Protos.Commonb\x06proto3"
9
+
10
+ pool = Google::Protobuf::DescriptorPool.generated_pool
11
+
12
+ begin
13
+ pool.add_serialized_file(descriptor_data)
14
+ rescue TypeError
15
+ # Compatibility code: will be removed in the next major version.
16
+ require_relative 'google/protobuf/descriptor_pb'
17
+ parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
18
+ parsed.clear_dependency
19
+ serialized = parsed.class.encode(parsed)
20
+ file = pool.add_serialized_file(serialized)
21
+ warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
22
+ imports = []
23
+ imports.each do |type_name, expected_filename|
24
+ import_file = pool.lookup(type_name).file_descriptor
25
+ if import_file.name != expected_filename
26
+ warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
27
+ end
28
+ end
29
+ warn "Each proto file must use a consistent fully-qualified name."
30
+ warn "This will become an error in the next major version."
31
+ end
32
+
33
+ module MomentoProtos
34
+ module Common
35
+ Present = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("common.Present").msgclass
36
+ PresentAndNotEqual = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("common.PresentAndNotEqual").msgclass
37
+ Absent = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("common.Absent").msgclass
38
+ Equal = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("common.Equal").msgclass
39
+ AbsentOrEqual = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("common.AbsentOrEqual").msgclass
40
+ NotEqual = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("common.NotEqual").msgclass
41
+ PB__Unbounded = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("common._Unbounded").msgclass
42
+ PB__Empty = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("common._Empty").msgclass
43
+ end
44
+ end
@@ -0,0 +1,72 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
4
+ # source: controlclient.proto
5
+
6
+ require 'google/protobuf'
7
+
8
+ descriptor_data = "\n\x13\x63ontrolclient.proto\x12\x0e\x63ontrol_client\")\n\x13_CreateStoreRequest\x12\x12\n\nstore_name\x18\x01 \x01(\t\"\x16\n\x14_CreateStoreResponse\")\n\x13_DeleteStoreRequest\x12\x12\n\nstore_name\x18\x01 \x01(\t\"\x16\n\x14_DeleteStoreResponse\"(\n\x12_ListStoresRequest\x12\x12\n\nnext_token\x18\x01 \x01(\t\"P\n\x13_ListStoresResponse\x12%\n\x05store\x18\x01 \x03(\x0b\x32\x16.control_client._Store\x12\x12\n\nnext_token\x18\x02 \x01(\t\"\x1c\n\x06_Store\x12\x12\n\nstore_name\x18\x01 \x01(\t\"\xda\x02\n\x11_SimilarityMetric\x12V\n\x14\x65uclidean_similarity\x18\x01 \x01(\x0b\x32\x36.control_client._SimilarityMetric._EuclideanSimilarityH\x00\x12H\n\rinner_product\x18\x02 \x01(\x0b\x32/.control_client._SimilarityMetric._InnerProductH\x00\x12P\n\x11\x63osine_similarity\x18\x03 \x01(\x0b\x32\x33.control_client._SimilarityMetric._CosineSimilarityH\x00\x1a\x16\n\x14_EuclideanSimilarity\x1a\x0f\n\r_InnerProduct\x1a\x13\n\x11_CosineSimilarityB\x13\n\x11similarity_metric\"\x7f\n\x13_CreateIndexRequest\x12\x12\n\nindex_name\x18\x01 \x01(\t\x12\x16\n\x0enum_dimensions\x18\x02 \x01(\x04\x12<\n\x11similarity_metric\x18\x03 \x01(\x0b\x32!.control_client._SimilarityMetric\"\x16\n\x14_CreateIndexResponse\")\n\x13_DeleteIndexRequest\x12\x12\n\nindex_name\x18\x01 \x01(\t\"\x16\n\x14_DeleteIndexResponse\"\x15\n\x13_ListIndexesRequest\"\xc8\x01\n\x14_ListIndexesResponse\x12<\n\x07indexes\x18\x01 \x03(\x0b\x32+.control_client._ListIndexesResponse._Index\x1ar\n\x06_Index\x12\x12\n\nindex_name\x18\x01 \x01(\t\x12\x16\n\x0enum_dimensions\x18\x02 \x01(\x04\x12<\n\x11similarity_metric\x18\x03 \x01(\x0b\x32!.control_client._SimilarityMetric\")\n\x13_DeleteCacheRequest\x12\x12\n\ncache_name\x18\x01 \x01(\t\"\x16\n\x14_DeleteCacheResponse\")\n\x13_CreateCacheRequest\x12\x12\n\ncache_name\x18\x01 \x01(\t\"\x16\n\x14_CreateCacheResponse\"(\n\x12_ListCachesRequest\x12\x12\n\nnext_token\x18\x01 \x01(\t\"x\n\x0c_CacheLimits\x12\x18\n\x10max_traffic_rate\x18\x01 \x01(\r\x12\x1b\n\x13max_throughput_kbps\x18\x02 \x01(\r\x12\x18\n\x10max_item_size_kb\x18\x03 \x01(\r\x12\x17\n\x0fmax_ttl_seconds\x18\x04 \x01(\x04\"m\n\x0c_TopicLimits\x12\x18\n\x10max_publish_rate\x18\x01 \x01(\r\x12\x1e\n\x16max_subscription_count\x18\x02 \x01(\r\x12#\n\x1bmax_publish_message_size_kb\x18\x03 \x01(\r\"\x84\x01\n\x06_Cache\x12\x12\n\ncache_name\x18\x01 \x01(\t\x12\x32\n\x0c\x63\x61\x63he_limits\x18\x02 \x01(\x0b\x32\x1c.control_client._CacheLimits\x12\x32\n\x0ctopic_limits\x18\x03 \x01(\x0b\x32\x1c.control_client._TopicLimits\"P\n\x13_ListCachesResponse\x12%\n\x05\x63\x61\x63he\x18\x01 \x03(\x0b\x32\x16.control_client._Cache\x12\x12\n\nnext_token\x18\x02 \x01(\t\"/\n\x18_CreateSigningKeyRequest\x12\x13\n\x0bttl_minutes\x18\x01 \x01(\r\"<\n\x19_CreateSigningKeyResponse\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x12\n\nexpires_at\x18\x02 \x01(\x04\"*\n\x18_RevokeSigningKeyRequest\x12\x0e\n\x06key_id\x18\x01 \x01(\t\"\x1b\n\x19_RevokeSigningKeyResponse\"1\n\x0b_SigningKey\x12\x0e\n\x06key_id\x18\x01 \x01(\t\x12\x12\n\nexpires_at\x18\x02 \x01(\x04\"-\n\x17_ListSigningKeysRequest\x12\x12\n\nnext_token\x18\x01 \x01(\t\"`\n\x18_ListSigningKeysResponse\x12\x30\n\x0bsigning_key\x18\x01 \x03(\x0b\x32\x1b.control_client._SigningKey\x12\x12\n\nnext_token\x18\x02 \x01(\t\"(\n\x12_FlushCacheRequest\x12\x12\n\ncache_name\x18\x01 \x01(\t\"\x15\n\x13_FlushCacheResponse2\xd9\t\n\nScsControl\x12Z\n\x0b\x43reateCache\x12#.control_client._CreateCacheRequest\x1a$.control_client._CreateCacheResponse\"\x00\x12Z\n\x0b\x44\x65leteCache\x12#.control_client._DeleteCacheRequest\x1a$.control_client._DeleteCacheResponse\"\x00\x12W\n\nListCaches\x12\".control_client._ListCachesRequest\x1a#.control_client._ListCachesResponse\"\x00\x12W\n\nFlushCache\x12\".control_client._FlushCacheRequest\x1a#.control_client._FlushCacheResponse\"\x00\x12i\n\x10\x43reateSigningKey\x12(.control_client._CreateSigningKeyRequest\x1a).control_client._CreateSigningKeyResponse\"\x00\x12i\n\x10RevokeSigningKey\x12(.control_client._RevokeSigningKeyRequest\x1a).control_client._RevokeSigningKeyResponse\"\x00\x12\x66\n\x0fListSigningKeys\x12'.control_client._ListSigningKeysRequest\x1a(.control_client._ListSigningKeysResponse\"\x00\x12Z\n\x0b\x43reateIndex\x12#.control_client._CreateIndexRequest\x1a$.control_client._CreateIndexResponse\"\x00\x12Z\n\x0b\x44\x65leteIndex\x12#.control_client._DeleteIndexRequest\x1a$.control_client._DeleteIndexResponse\"\x00\x12Z\n\x0bListIndexes\x12#.control_client._ListIndexesRequest\x1a$.control_client._ListIndexesResponse\"\x00\x12Z\n\x0b\x43reateStore\x12#.control_client._CreateStoreRequest\x1a$.control_client._CreateStoreResponse\"\x00\x12Z\n\x0b\x44\x65leteStore\x12#.control_client._DeleteStoreRequest\x1a$.control_client._DeleteStoreResponse\"\x00\x12W\n\nListStores\x12\".control_client._ListStoresRequest\x1a#.control_client._ListStoresResponse\"\x00\x42h\n\x13grpc.control_clientP\x01Z0github.com/momentohq/client-sdk-go;client_sdk_go\xaa\x02\x1cMomento.Protos.ControlClientb\x06proto3"
9
+
10
+ pool = Google::Protobuf::DescriptorPool.generated_pool
11
+
12
+ begin
13
+ pool.add_serialized_file(descriptor_data)
14
+ rescue TypeError
15
+ # Compatibility code: will be removed in the next major version.
16
+ require_relative 'google/protobuf/descriptor_pb'
17
+ parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
18
+ parsed.clear_dependency
19
+ serialized = parsed.class.encode(parsed)
20
+ file = pool.add_serialized_file(serialized)
21
+ warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
22
+ imports = []
23
+ imports.each do |type_name, expected_filename|
24
+ import_file = pool.lookup(type_name).file_descriptor
25
+ if import_file.name != expected_filename
26
+ warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
27
+ end
28
+ end
29
+ warn "Each proto file must use a consistent fully-qualified name."
30
+ warn "This will become an error in the next major version."
31
+ end
32
+
33
+ module MomentoProtos
34
+ module ControlClient
35
+ PB__CreateStoreRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("control_client._CreateStoreRequest").msgclass
36
+ PB__CreateStoreResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("control_client._CreateStoreResponse").msgclass
37
+ PB__DeleteStoreRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("control_client._DeleteStoreRequest").msgclass
38
+ PB__DeleteStoreResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("control_client._DeleteStoreResponse").msgclass
39
+ PB__ListStoresRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("control_client._ListStoresRequest").msgclass
40
+ PB__ListStoresResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("control_client._ListStoresResponse").msgclass
41
+ PB__Store = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("control_client._Store").msgclass
42
+ PB__SimilarityMetric = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("control_client._SimilarityMetric").msgclass
43
+ PB__SimilarityMetric::PB__EuclideanSimilarity = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("control_client._SimilarityMetric._EuclideanSimilarity").msgclass
44
+ PB__SimilarityMetric::PB__InnerProduct = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("control_client._SimilarityMetric._InnerProduct").msgclass
45
+ PB__SimilarityMetric::PB__CosineSimilarity = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("control_client._SimilarityMetric._CosineSimilarity").msgclass
46
+ PB__CreateIndexRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("control_client._CreateIndexRequest").msgclass
47
+ PB__CreateIndexResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("control_client._CreateIndexResponse").msgclass
48
+ PB__DeleteIndexRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("control_client._DeleteIndexRequest").msgclass
49
+ PB__DeleteIndexResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("control_client._DeleteIndexResponse").msgclass
50
+ PB__ListIndexesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("control_client._ListIndexesRequest").msgclass
51
+ PB__ListIndexesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("control_client._ListIndexesResponse").msgclass
52
+ PB__ListIndexesResponse::PB__Index = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("control_client._ListIndexesResponse._Index").msgclass
53
+ PB__DeleteCacheRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("control_client._DeleteCacheRequest").msgclass
54
+ PB__DeleteCacheResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("control_client._DeleteCacheResponse").msgclass
55
+ PB__CreateCacheRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("control_client._CreateCacheRequest").msgclass
56
+ PB__CreateCacheResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("control_client._CreateCacheResponse").msgclass
57
+ PB__ListCachesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("control_client._ListCachesRequest").msgclass
58
+ PB__CacheLimits = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("control_client._CacheLimits").msgclass
59
+ PB__TopicLimits = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("control_client._TopicLimits").msgclass
60
+ PB__Cache = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("control_client._Cache").msgclass
61
+ PB__ListCachesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("control_client._ListCachesResponse").msgclass
62
+ PB__CreateSigningKeyRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("control_client._CreateSigningKeyRequest").msgclass
63
+ PB__CreateSigningKeyResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("control_client._CreateSigningKeyResponse").msgclass
64
+ PB__RevokeSigningKeyRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("control_client._RevokeSigningKeyRequest").msgclass
65
+ PB__RevokeSigningKeyResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("control_client._RevokeSigningKeyResponse").msgclass
66
+ PB__SigningKey = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("control_client._SigningKey").msgclass
67
+ PB__ListSigningKeysRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("control_client._ListSigningKeysRequest").msgclass
68
+ PB__ListSigningKeysResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("control_client._ListSigningKeysResponse").msgclass
69
+ PB__FlushCacheRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("control_client._FlushCacheRequest").msgclass
70
+ PB__FlushCacheResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("control_client._FlushCacheResponse").msgclass
71
+ end
72
+ end
@@ -0,0 +1,35 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # Source: controlclient.proto for package 'control_client'
3
+
4
+ require 'grpc'
5
+ require_relative 'controlclient_pb'
6
+
7
+ module MomentoProtos
8
+ module ControlClient
9
+ module ScsControl
10
+ class Service
11
+ include ::GRPC::GenericService
12
+
13
+ self.marshal_class_method = :encode
14
+ self.unmarshal_class_method = :decode
15
+ self.service_name = 'control_client.ScsControl'
16
+
17
+ rpc :CreateCache, ::MomentoProtos::ControlClient::PB__CreateCacheRequest, ::MomentoProtos::ControlClient::PB__CreateCacheResponse
18
+ rpc :DeleteCache, ::MomentoProtos::ControlClient::PB__DeleteCacheRequest, ::MomentoProtos::ControlClient::PB__DeleteCacheResponse
19
+ rpc :ListCaches, ::MomentoProtos::ControlClient::PB__ListCachesRequest, ::MomentoProtos::ControlClient::PB__ListCachesResponse
20
+ rpc :FlushCache, ::MomentoProtos::ControlClient::PB__FlushCacheRequest, ::MomentoProtos::ControlClient::PB__FlushCacheResponse
21
+ rpc :CreateSigningKey, ::MomentoProtos::ControlClient::PB__CreateSigningKeyRequest, ::MomentoProtos::ControlClient::PB__CreateSigningKeyResponse
22
+ rpc :RevokeSigningKey, ::MomentoProtos::ControlClient::PB__RevokeSigningKeyRequest, ::MomentoProtos::ControlClient::PB__RevokeSigningKeyResponse
23
+ rpc :ListSigningKeys, ::MomentoProtos::ControlClient::PB__ListSigningKeysRequest, ::MomentoProtos::ControlClient::PB__ListSigningKeysResponse
24
+ rpc :CreateIndex, ::MomentoProtos::ControlClient::PB__CreateIndexRequest, ::MomentoProtos::ControlClient::PB__CreateIndexResponse
25
+ rpc :DeleteIndex, ::MomentoProtos::ControlClient::PB__DeleteIndexRequest, ::MomentoProtos::ControlClient::PB__DeleteIndexResponse
26
+ rpc :ListIndexes, ::MomentoProtos::ControlClient::PB__ListIndexesRequest, ::MomentoProtos::ControlClient::PB__ListIndexesResponse
27
+ rpc :CreateStore, ::MomentoProtos::ControlClient::PB__CreateStoreRequest, ::MomentoProtos::ControlClient::PB__CreateStoreResponse
28
+ rpc :DeleteStore, ::MomentoProtos::ControlClient::PB__DeleteStoreRequest, ::MomentoProtos::ControlClient::PB__DeleteStoreResponse
29
+ rpc :ListStores, ::MomentoProtos::ControlClient::PB__ListStoresRequest, ::MomentoProtos::ControlClient::PB__ListStoresResponse
30
+ end
31
+
32
+ Stub = Service.rpc_stub_class
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
4
+ # source: extensions.proto
5
+
6
+ require 'google/protobuf'
7
+
8
+ require_relative 'google/protobuf/descriptor_pb'
9
+
10
+ descriptor_data = "\n\x10\x65xtensions.proto\x1a google/protobuf/descriptor.proto*0\n\rRetrySemantic\x12\x10\n\x0cNotRetryable\x10\x00\x12\r\n\tRetryable\x10\x01:I\n\x0eretry_semantic\x12\x1f.google.protobuf.MessageOptions\x18\xd0\x86\x03 \x01(\x0e\x32\x0e.RetrySemanticB_\n\x0fgrpc.extensionsZ0github.com/momentohq/client-sdk-go;client_sdk_go\xaa\x02\x19Momento.Protos.Extensionsb\x06proto3"
11
+
12
+ pool = Google::Protobuf::DescriptorPool.generated_pool
13
+
14
+ begin
15
+ pool.add_serialized_file(descriptor_data)
16
+ rescue TypeError
17
+ # Compatibility code: will be removed in the next major version.
18
+ require_relative 'google/protobuf/descriptor_pb'
19
+ parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
20
+ parsed.clear_dependency
21
+ serialized = parsed.class.encode(parsed)
22
+ file = pool.add_serialized_file(serialized)
23
+ warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
24
+ imports = []
25
+ imports.each do |type_name, expected_filename|
26
+ import_file = pool.lookup(type_name).file_descriptor
27
+ if import_file.name != expected_filename
28
+ warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
29
+ end
30
+ end
31
+ warn "Each proto file must use a consistent fully-qualified name."
32
+ warn "This will become an error in the next major version."
33
+ end
34
+
35
+ RetrySemantic = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("RetrySemantic").enummodule
@@ -0,0 +1,47 @@
1
+ #!/bin/bash
2
+ set -e
3
+ set -x
4
+
5
+ # Must specify the path to the proto files
6
+ if [ -z "${PROTO_PATH}" ]; then
7
+ echo "PROTO_PATH is not set, please specify the path to the client-protos/proto directory"
8
+ exit 1
9
+ fi
10
+
11
+ # Remove existing generated code
12
+ rm -f *_pb.rb
13
+
14
+ # Copy files over temporarily
15
+ cp ${PROTO_PATH}/*.proto ./
16
+
17
+ # Remove files we don't want to generate code from
18
+ rm -f ./httpcache.proto
19
+ rm -f ./vectorindex.proto
20
+
21
+ # Generate the code
22
+ grpc_tools_ruby_protoc -I ./ --ruby_out=./ --grpc_out=./ ./*.proto
23
+
24
+ # Remove the protos
25
+ rm -f ./*.proto
26
+
27
+ # In the *_pb.rb files, replace the require with require_relative
28
+ sed -i '' -E "s/require '(.*)_pb'/require_relative '\1_pb'/g" *_pb.rb
29
+
30
+ # Wrap the generated code in a module named MomentoProtos, but only the top-level modules
31
+ for file in *_pb.rb; do
32
+ sed -i '' -E 's/^module (.*)/module MomentoProtos::\1/g' $file
33
+ done
34
+
35
+ # Run the linter, converts from :: syntax to nested modules
36
+ rubocop -A --disable-uncorrectable *_pb.rb
37
+
38
+ # In the *_services_pb.rb files, change the module names.
39
+ # * rename ::ControlClient to ::MomentoProtos::ControlClient
40
+ # * rename ::CacheClient to ::MomentoProtos::CacheClient
41
+ for file in *_services_pb.rb; do
42
+ sed -i '' -E 's/::ControlClient::/::MomentoProtos::ControlClient::/g' $file
43
+ sed -i '' -E 's/::CacheClient::/::MomentoProtos::CacheClient::/g' $file
44
+ done
45
+
46
+ # Run the linter
47
+ rubocop -A *_pb.rb
@@ -0,0 +1,56 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
4
+ # source: leaderboard.proto
5
+
6
+ require 'google/protobuf'
7
+
8
+ require_relative 'common_pb'
9
+
10
+ descriptor_data = "\n\x11leaderboard.proto\x12\x0bleaderboard\x1a\x0c\x63ommon.proto\"+\n\x08_Element\x12\n\n\x02id\x18\x01 \x01(\r\x12\r\n\x05score\x18\x03 \x01(\x01J\x04\x08\x02\x10\x03\"?\n\x0e_RankedElement\x12\n\n\x02id\x18\x01 \x01(\r\x12\x0c\n\x04rank\x18\x03 \x01(\r\x12\r\n\x05score\x18\x04 \x01(\x01J\x04\x08\x02\x10\x03\"<\n\n_RankRange\x12\x17\n\x0fstart_inclusive\x18\x01 \x01(\r\x12\x15\n\rend_exclusive\x18\x02 \x01(\r\"\xb3\x01\n\x0b_ScoreRange\x12+\n\runbounded_min\x18\x01 \x01(\x0b\x32\x12.common._UnboundedH\x00\x12\x17\n\rmin_inclusive\x18\x05 \x01(\x01H\x00\x12+\n\runbounded_max\x18\x03 \x01(\x0b\x32\x12.common._UnboundedH\x01\x12\x17\n\rmax_exclusive\x18\x06 \x01(\x01H\x01\x42\x05\n\x03minB\x05\n\x03maxJ\x04\x08\x02\x10\x03J\x04\x08\x04\x10\x05\"D\n\x19_DeleteLeaderboardRequest\x12\x12\n\ncache_name\x18\x01 \x01(\t\x12\x13\n\x0bleaderboard\x18\x02 \x01(\t\"G\n\x1c_GetLeaderboardLengthRequest\x12\x12\n\ncache_name\x18\x01 \x01(\t\x12\x13\n\x0bleaderboard\x18\x02 \x01(\t\".\n\x1d_GetLeaderboardLengthResponse\x12\r\n\x05\x63ount\x18\x01 \x01(\r\"j\n\x16_UpsertElementsRequest\x12\x12\n\ncache_name\x18\x01 \x01(\t\x12\x13\n\x0bleaderboard\x18\x02 \x01(\t\x12'\n\x08\x65lements\x18\x03 \x03(\x0b\x32\x15.leaderboard._Element\"\x8d\x01\n\x11_GetByRankRequest\x12\x12\n\ncache_name\x18\x01 \x01(\t\x12\x13\n\x0bleaderboard\x18\x02 \x01(\t\x12+\n\nrank_range\x18\x03 \x01(\x0b\x32\x17.leaderboard._RankRange\x12\"\n\x05order\x18\x04 \x01(\x0e\x32\x13.leaderboard._Order\"C\n\x12_GetByRankResponse\x12-\n\x08\x65lements\x18\x01 \x03(\x0b\x32\x1b.leaderboard._RankedElement\"k\n\x0f_GetRankRequest\x12\x12\n\ncache_name\x18\x01 \x01(\t\x12\x13\n\x0bleaderboard\x18\x02 \x01(\t\x12\x0b\n\x03ids\x18\x03 \x03(\r\x12\"\n\x05order\x18\x04 \x01(\x0e\x32\x13.leaderboard._Order\"A\n\x10_GetRankResponse\x12-\n\x08\x65lements\x18\x01 \x03(\x0b\x32\x1b.leaderboard._RankedElement\"N\n\x16_RemoveElementsRequest\x12\x12\n\ncache_name\x18\x01 \x01(\t\x12\x13\n\x0bleaderboard\x18\x02 \x01(\t\x12\x0b\n\x03ids\x18\x03 \x03(\r\"\xb8\x01\n\x12_GetByScoreRequest\x12\x12\n\ncache_name\x18\x01 \x01(\t\x12\x13\n\x0bleaderboard\x18\x02 \x01(\t\x12-\n\x0bscore_range\x18\x03 \x01(\x0b\x32\x18.leaderboard._ScoreRange\x12\x0e\n\x06offset\x18\x04 \x01(\r\x12\x16\n\x0elimit_elements\x18\x05 \x01(\r\x12\"\n\x05order\x18\x06 \x01(\x0e\x32\x13.leaderboard._Order\"D\n\x13_GetByScoreResponse\x12-\n\x08\x65lements\x18\x01 \x03(\x0b\x32\x1b.leaderboard._RankedElement*'\n\x06_Order\x12\r\n\tASCENDING\x10\x00\x12\x0e\n\nDESCENDING\x10\x01\x32\xbe\x04\n\x0bLeaderboard\x12K\n\x11\x44\x65leteLeaderboard\x12&.leaderboard._DeleteLeaderboardRequest\x1a\x0e.common._Empty\x12\x45\n\x0eUpsertElements\x12#.leaderboard._UpsertElementsRequest\x1a\x0e.common._Empty\x12\x45\n\x0eRemoveElements\x12#.leaderboard._RemoveElementsRequest\x1a\x0e.common._Empty\x12m\n\x14GetLeaderboardLength\x12).leaderboard._GetLeaderboardLengthRequest\x1a*.leaderboard._GetLeaderboardLengthResponse\x12L\n\tGetByRank\x12\x1e.leaderboard._GetByRankRequest\x1a\x1f.leaderboard._GetByRankResponse\x12\x46\n\x07GetRank\x12\x1c.leaderboard._GetRankRequest\x1a\x1d.leaderboard._GetRankResponse\x12O\n\nGetByScore\x12\x1f.leaderboard._GetByScoreRequest\x1a .leaderboard._GetByScoreResponseBc\n\x10grpc.leaderboardP\x01Z0github.com/momentohq/client-sdk-go;client_sdk_go\xaa\x02\x1aMomento.Protos.Leaderboardb\x06proto3"
11
+
12
+ pool = Google::Protobuf::DescriptorPool.generated_pool
13
+
14
+ begin
15
+ pool.add_serialized_file(descriptor_data)
16
+ rescue TypeError
17
+ # Compatibility code: will be removed in the next major version.
18
+ require_relative 'google/protobuf/descriptor_pb'
19
+ parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
20
+ parsed.clear_dependency
21
+ serialized = parsed.class.encode(parsed)
22
+ file = pool.add_serialized_file(serialized)
23
+ warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
24
+ imports = [
25
+ ["common._Unbounded", "common.proto"]
26
+ ]
27
+ imports.each do |type_name, expected_filename|
28
+ import_file = pool.lookup(type_name).file_descriptor
29
+ if import_file.name != expected_filename
30
+ warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
31
+ end
32
+ end
33
+ warn "Each proto file must use a consistent fully-qualified name."
34
+ warn "This will become an error in the next major version."
35
+ end
36
+
37
+ module MomentoProtos
38
+ module Leaderboard
39
+ PB__Element = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("leaderboard._Element").msgclass
40
+ PB__RankedElement = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("leaderboard._RankedElement").msgclass
41
+ PB__RankRange = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("leaderboard._RankRange").msgclass
42
+ PB__ScoreRange = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("leaderboard._ScoreRange").msgclass
43
+ PB__DeleteLeaderboardRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("leaderboard._DeleteLeaderboardRequest").msgclass
44
+ PB__GetLeaderboardLengthRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("leaderboard._GetLeaderboardLengthRequest").msgclass
45
+ PB__GetLeaderboardLengthResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("leaderboard._GetLeaderboardLengthResponse").msgclass
46
+ PB__UpsertElementsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("leaderboard._UpsertElementsRequest").msgclass
47
+ PB__GetByRankRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("leaderboard._GetByRankRequest").msgclass
48
+ PB__GetByRankResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("leaderboard._GetByRankResponse").msgclass
49
+ PB__GetRankRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("leaderboard._GetRankRequest").msgclass
50
+ PB__GetRankResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("leaderboard._GetRankResponse").msgclass
51
+ PB__RemoveElementsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("leaderboard._RemoveElementsRequest").msgclass
52
+ PB__GetByScoreRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("leaderboard._GetByScoreRequest").msgclass
53
+ PB__GetByScoreResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("leaderboard._GetByScoreResponse").msgclass
54
+ PB__Order = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("leaderboard._Order").enummodule
55
+ end
56
+ end
@@ -0,0 +1,57 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # Source: leaderboard.proto for package 'leaderboard'
3
+
4
+ require 'grpc'
5
+ require_relative 'leaderboard_pb'
6
+
7
+ module MomentoProtos
8
+ module Leaderboard
9
+ module Leaderboard
10
+ # Like a sorted set, but for leaderboards!
11
+ #
12
+ # Elements in a leaderboard are keyed by an ID, which is an unsigned 64 bit integer.
13
+ # Scores are single-precision floating point numbers.
14
+ #
15
+ # Each ID can have only 1 score.
16
+ #
17
+ # For batchy, multi-element apis, limits are 8192 elements per api call.
18
+ #
19
+ # Scores are IEEE 754 single-precision floating point numbers. This has a few
20
+ # implications you should be aware of, but the one most likely to affect you is that
21
+ # below -16777216 and above 16777216, not all integers are able to be represented.
22
+ class Service
23
+ include ::GRPC::GenericService
24
+
25
+ self.marshal_class_method = :encode
26
+ self.unmarshal_class_method = :decode
27
+ self.service_name = 'leaderboard.Leaderboard'
28
+
29
+ # Deletes a leaderboard. After this call, you're not incurring storage cost for this leaderboard anymore.
30
+ rpc :DeleteLeaderboard, ::Leaderboard::PB__DeleteLeaderboardRequest, ::Common::PB__Empty
31
+ # Insert or update elements in a leaderboard. You can do up to 8192 elements per call.
32
+ # There is no partial failure: Upsert succeeds or fails.
33
+ rpc :UpsertElements, ::Leaderboard::PB__UpsertElementsRequest, ::Common::PB__Empty
34
+ # Remove up to 8192 elements at a time from a leaderboard. Elements are removed by id.
35
+ rpc :RemoveElements, ::Leaderboard::PB__RemoveElementsRequest, ::Common::PB__Empty
36
+ # Returns the length of a leaderboard in terms of ID count.
37
+ rpc :GetLeaderboardLength, ::Leaderboard::PB__GetLeaderboardLengthRequest, ::Leaderboard::PB__GetLeaderboardLengthResponse
38
+ # Get a range of elements.
39
+ # * Ordinal, 0-based rank.
40
+ # * Range can span up to 8192 elements.
41
+ # See RankRange for details about permissible ranges.
42
+ rpc :GetByRank, ::Leaderboard::PB__GetByRankRequest, ::Leaderboard::PB__GetByRankResponse
43
+ # Get the rank of a list of particular ids in the leaderboard.
44
+ # * Ordinal, 0-based rank.
45
+ rpc :GetRank, ::Leaderboard::PB__GetRankRequest, ::Leaderboard::PB__GetRankResponse
46
+ # Get a range of elements by a score range.
47
+ # * Ordinal, 0-based rank.
48
+ #
49
+ # You can request up to 8192 elements at a time. To page through many elements that all
50
+ # fall into a score range you can repeatedly invoke this api with the offset parameter.
51
+ rpc :GetByScore, ::Leaderboard::PB__GetByScoreRequest, ::Leaderboard::PB__GetByScoreResponse
52
+ end
53
+
54
+ Stub = Service.rpc_stub_class
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,48 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
4
+ # source: permissionmessages.proto
5
+
6
+ require 'google/protobuf'
7
+
8
+ descriptor_data = "\n\x18permissionmessages.proto\x12\x13permission_messages\"\x94\x01\n\x0bPermissions\x12?\n\nsuper_user\x18\x01 \x01(\x0e\x32).permission_messages.SuperUserPermissionsH\x00\x12<\n\x08\x65xplicit\x18\x02 \x01(\x0b\x32(.permission_messages.ExplicitPermissionsH\x00\x42\x06\n\x04kind\"P\n\x13\x45xplicitPermissions\x12\x39\n\x0bpermissions\x18\x01 \x03(\x0b\x32$.permission_messages.PermissionsType\"\xee\x08\n\x0fPermissionsType\x12R\n\x11\x63\x61\x63he_permissions\x18\x01 \x01(\x0b\x32\x35.permission_messages.PermissionsType.CachePermissionsH\x00\x12R\n\x11topic_permissions\x18\x02 \x01(\x0b\x32\x35.permission_messages.PermissionsType.TopicPermissionsH\x00\x1a\x05\n\x03\x41ll\x1a-\n\rCacheSelector\x12\x14\n\ncache_name\x18\x01 \x01(\tH\x00\x42\x06\n\x04kind\x1a@\n\x11\x43\x61\x63heItemSelector\x12\r\n\x03key\x18\x01 \x01(\x0cH\x00\x12\x14\n\nkey_prefix\x18\x02 \x01(\x0cH\x00\x42\x06\n\x04kind\x1a\xf5\x02\n\x10\x43\x61\x63hePermissions\x12,\n\x04role\x18\x01 \x01(\x0e\x32\x1e.permission_messages.CacheRole\x12>\n\nall_caches\x18\x02 \x01(\x0b\x32(.permission_messages.PermissionsType.AllH\x00\x12L\n\x0e\x63\x61\x63he_selector\x18\x03 \x01(\x0b\x32\x32.permission_messages.PermissionsType.CacheSelectorH\x00\x12=\n\tall_items\x18\x04 \x01(\x0b\x32(.permission_messages.PermissionsType.AllH\x01\x12O\n\ritem_selector\x18\x05 \x01(\x0b\x32\x36.permission_messages.PermissionsType.CacheItemSelectorH\x01\x42\x07\n\x05\x63\x61\x63heB\x0c\n\ncache_item\x1aJ\n\rTopicSelector\x12\x14\n\ntopic_name\x18\x01 \x01(\tH\x00\x12\x1b\n\x11topic_name_prefix\x18\x02 \x01(\tH\x00\x42\x06\n\x04kind\x1a\xee\x02\n\x10TopicPermissions\x12,\n\x04role\x18\x01 \x01(\x0e\x32\x1e.permission_messages.TopicRole\x12>\n\nall_caches\x18\x02 \x01(\x0b\x32(.permission_messages.PermissionsType.AllH\x00\x12L\n\x0e\x63\x61\x63he_selector\x18\x03 \x01(\x0b\x32\x32.permission_messages.PermissionsType.CacheSelectorH\x00\x12>\n\nall_topics\x18\x04 \x01(\x0b\x32(.permission_messages.PermissionsType.AllH\x01\x12L\n\x0etopic_selector\x18\x05 \x01(\x0b\x32\x32.permission_messages.PermissionsType.TopicSelectorH\x01\x42\x07\n\x05\x63\x61\x63heB\x07\n\x05topicB\x06\n\x04kind*[\n\tCacheRole\x12\x13\n\x0f\x43\x61\x63hePermitNone\x10\x00\x12\x12\n\x0e\x43\x61\x63heReadWrite\x10\x01\x12\x11\n\rCacheReadOnly\x10\x02\x12\x12\n\x0e\x43\x61\x63heWriteOnly\x10\x03*[\n\tTopicRole\x12\x13\n\x0fTopicPermitNone\x10\x00\x12\x12\n\x0eTopicReadWrite\x10\x01\x12\x11\n\rTopicReadOnly\x10\x02\x12\x12\n\x0eTopicWriteOnly\x10\x03*%\n\x14SuperUserPermissions\x12\r\n\tSuperUser\x10\x00\x42r\n\x18grpc.permission_messagesP\x01Z0github.com/momentohq/client-sdk-go;client_sdk_go\xaa\x02!Momento.Protos.PermissionMessagesb\x06proto3"
9
+
10
+ pool = Google::Protobuf::DescriptorPool.generated_pool
11
+
12
+ begin
13
+ pool.add_serialized_file(descriptor_data)
14
+ rescue TypeError
15
+ # Compatibility code: will be removed in the next major version.
16
+ require_relative 'google/protobuf/descriptor_pb'
17
+ parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
18
+ parsed.clear_dependency
19
+ serialized = parsed.class.encode(parsed)
20
+ file = pool.add_serialized_file(serialized)
21
+ warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
22
+ imports = []
23
+ imports.each do |type_name, expected_filename|
24
+ import_file = pool.lookup(type_name).file_descriptor
25
+ if import_file.name != expected_filename
26
+ warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
27
+ end
28
+ end
29
+ warn "Each proto file must use a consistent fully-qualified name."
30
+ warn "This will become an error in the next major version."
31
+ end
32
+
33
+ module MomentoProtos
34
+ module PermissionMessages
35
+ Permissions = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("permission_messages.Permissions").msgclass
36
+ ExplicitPermissions = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("permission_messages.ExplicitPermissions").msgclass
37
+ PermissionsType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("permission_messages.PermissionsType").msgclass
38
+ PermissionsType::All = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("permission_messages.PermissionsType.All").msgclass
39
+ PermissionsType::CacheSelector = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("permission_messages.PermissionsType.CacheSelector").msgclass
40
+ PermissionsType::CacheItemSelector = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("permission_messages.PermissionsType.CacheItemSelector").msgclass
41
+ PermissionsType::CachePermissions = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("permission_messages.PermissionsType.CachePermissions").msgclass
42
+ PermissionsType::TopicSelector = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("permission_messages.PermissionsType.TopicSelector").msgclass
43
+ PermissionsType::TopicPermissions = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("permission_messages.PermissionsType.TopicPermissions").msgclass
44
+ CacheRole = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("permission_messages.CacheRole").enummodule
45
+ TopicRole = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("permission_messages.TopicRole").enummodule
46
+ SuperUserPermissions = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("permission_messages.SuperUserPermissions").enummodule
47
+ end
48
+ end
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
4
+ # source: token.proto
5
+
6
+ require 'google/protobuf'
7
+
8
+ require_relative 'permissionmessages_pb'
9
+
10
+ descriptor_data = "\n\x0btoken.proto\x12\x05token\x1a\x18permissionmessages.proto\"\xe5\x01\n\x1f_GenerateDisposableTokenRequest\x12?\n\x07\x65xpires\x18\x01 \x01(\x0b\x32..token._GenerateDisposableTokenRequest.Expires\x12\x12\n\nauth_token\x18\x02 \x01(\t\x12\x35\n\x0bpermissions\x18\x03 \x01(\x0b\x32 .permission_messages.Permissions\x12\x10\n\x08token_id\x18\x04 \x01(\t\x1a$\n\x07\x45xpires\x12\x19\n\x11valid_for_seconds\x18\x01 \x01(\r\"Z\n _GenerateDisposableTokenResponse\x12\x0f\n\x07\x61pi_key\x18\x01 \x01(\t\x12\x10\n\x08\x65ndpoint\x18\x02 \x01(\t\x12\x13\n\x0bvalid_until\x18\x03 \x01(\x04\x32u\n\x05Token\x12l\n\x17GenerateDisposableToken\x12&.token._GenerateDisposableTokenRequest\x1a'.token._GenerateDisposableTokenResponse\"\x00\x42`\n\rmomento.tokenP\x01Z0github.com/momentohq/client-sdk-go;client_sdk_go\xaa\x02\x1aMomento.Protos.TokenClientb\x06proto3"
11
+
12
+ pool = Google::Protobuf::DescriptorPool.generated_pool
13
+
14
+ begin
15
+ pool.add_serialized_file(descriptor_data)
16
+ rescue TypeError
17
+ # Compatibility code: will be removed in the next major version.
18
+ require_relative 'google/protobuf/descriptor_pb'
19
+ parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
20
+ parsed.clear_dependency
21
+ serialized = parsed.class.encode(parsed)
22
+ file = pool.add_serialized_file(serialized)
23
+ warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
24
+ imports = [
25
+ ["permission_messages.Permissions", "permissionmessages.proto"]
26
+ ]
27
+ imports.each do |type_name, expected_filename|
28
+ import_file = pool.lookup(type_name).file_descriptor
29
+ if import_file.name != expected_filename
30
+ warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
31
+ end
32
+ end
33
+ warn "Each proto file must use a consistent fully-qualified name."
34
+ warn "This will become an error in the next major version."
35
+ end
36
+
37
+ module MomentoProtos
38
+ module Token
39
+ PB__GenerateDisposableTokenRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("token._GenerateDisposableTokenRequest").msgclass
40
+ PB__GenerateDisposableTokenRequest::Expires = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("token._GenerateDisposableTokenRequest.Expires").msgclass
41
+ PB__GenerateDisposableTokenResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("token._GenerateDisposableTokenResponse").msgclass
42
+ end
43
+ end
@@ -0,0 +1,23 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # Source: token.proto for package 'token'
3
+
4
+ require 'grpc'
5
+ require_relative 'token_pb'
6
+
7
+ module MomentoProtos
8
+ module Token
9
+ module Token
10
+ class Service
11
+ include ::GRPC::GenericService
12
+
13
+ self.marshal_class_method = :encode
14
+ self.unmarshal_class_method = :decode
15
+ self.service_name = 'token.Token'
16
+
17
+ rpc :GenerateDisposableToken, ::Token::PB__GenerateDisposableTokenRequest, ::Token::PB__GenerateDisposableTokenResponse
18
+ end
19
+
20
+ Stub = Service.rpc_stub_class
21
+ end
22
+ end
23
+ end