momento 0.2.0 → 0.5.0
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.
- checksums.yaml +4 -4
- data/.release-please-manifest.json +1 -1
- data/.rubocop.yml +14 -1
- data/.ruby-version +1 -1
- data/CHANGELOG.md +105 -0
- data/CONTRIBUTING.md +5 -6
- data/Gemfile +1 -6
- data/Gemfile.lock +34 -28
- data/README.md +64 -44
- data/README.template.md +30 -25
- data/examples/.gitignore +1 -0
- data/examples/Gemfile +1 -1
- data/examples/README.md +5 -6
- data/examples/compact.rb +13 -9
- data/examples/example.rb +24 -8
- data/examples/file.rb +7 -6
- data/lib/README-generating-pb.txt +1 -1
- data/lib/momento/auth/credential_provider.rb +78 -0
- data/lib/momento/cache_client.rb +478 -0
- data/lib/momento/collection_ttl.rb +79 -0
- data/lib/momento/config/configuration.rb +42 -0
- data/lib/momento/config/configurations.rb +24 -0
- data/lib/momento/config/transport/grpc_configuration.rb +35 -0
- data/lib/momento/config/transport/static_transport_strategy.rb +12 -0
- data/lib/momento/config/transport/transport_strategy.rb +16 -0
- data/lib/momento/error/types.rb +22 -0
- data/lib/momento/generated/README.md +16 -0
- data/lib/momento/generated/auth_pb.rb +52 -0
- data/lib/momento/generated/auth_services_pb.rb +27 -0
- data/lib/momento/generated/cacheclient_pb.rb +203 -0
- data/lib/momento/generated/cacheclient_services_pb.rb +90 -0
- data/lib/momento/generated/cacheping_pb.rb +38 -0
- data/lib/momento/generated/cacheping_services_pb.rb +23 -0
- data/lib/momento/generated/cachepubsub_pb.rb +48 -0
- data/lib/momento/generated/cachepubsub_services_pb.rb +56 -0
- data/lib/momento/generated/common_pb.rb +44 -0
- data/lib/momento/generated/controlclient_pb.rb +72 -0
- data/lib/momento/generated/controlclient_services_pb.rb +35 -0
- data/lib/momento/generated/extensions_pb.rb +35 -0
- data/lib/momento/generated/generate_protos.sh +47 -0
- data/lib/momento/generated/leaderboard_pb.rb +56 -0
- data/lib/momento/generated/leaderboard_services_pb.rb +57 -0
- data/lib/momento/generated/permissionmessages_pb.rb +48 -0
- data/lib/momento/generated/token_pb.rb +43 -0
- data/lib/momento/generated/token_services_pb.rb +23 -0
- data/lib/momento/generated/webhook_pb.rb +49 -0
- data/lib/momento/generated/webhook_services_pb.rb +32 -0
- data/lib/momento/response/control/create_cache_response.rb +61 -0
- data/lib/momento/{delete_cache_response_builder.rb → response/control/delete_cache_response.rb} +24 -3
- data/lib/momento/response/control/list_caches_response.rb +80 -0
- data/lib/momento/{delete_response_builder.rb → response/delete_response.rb} +24 -2
- data/lib/momento/{get_response.rb → response/get_response.rb} +39 -9
- data/lib/momento/{response.rb → response/response.rb} +11 -14
- data/lib/momento/response/set_response.rb +59 -0
- data/lib/momento/response/sort_order.rb +11 -0
- data/lib/momento/response/sorted_set/sorted_set_fetch_response.rb +107 -0
- data/lib/momento/response/sorted_set/sorted_set_put_element_response.rb +44 -0
- data/lib/momento/response/sorted_set/sorted_set_put_elements_response.rb +44 -0
- data/lib/momento/version.rb +1 -1
- data/lib/momento.rb +6 -1
- data/momento.gemspec +5 -3
- data/release-please-config.json +1 -1
- data/sig/momento/auth/credential_provider.rbs +11 -0
- data/sig/momento/cache_client.rbs +11 -0
- data/sig/momento/collection_ttl.rbs +22 -0
- data/sig/momento/config/configuration.rbs +13 -0
- data/sig/momento/config/configurations.rbs +9 -0
- data/sig/momento/config/transport/grpc_configuration.rbs +9 -0
- data/sig/momento/config/transport/transport_strategy.rbs +7 -0
- data/sig/momento/list_caches_response.rbs +7 -0
- data/sig/momento/sorted_set_fetch_response.rbs +13 -0
- data/sig/momento/sorted_set_put_element_response.rbs +5 -0
- data/sig/momento/sorted_set_put_elements_response.rbs +5 -0
- metadata +101 -40
- data/lib/momento/cacheclient_pb.rb +0 -334
- data/lib/momento/cacheclient_services_pb.rb +0 -44
- data/lib/momento/controlclient_pb.rb +0 -73
- data/lib/momento/controlclient_services_pb.rb +0 -31
- data/lib/momento/create_cache_response.rb +0 -37
- data/lib/momento/create_cache_response_builder.rb +0 -27
- data/lib/momento/delete_cache_response.rb +0 -24
- data/lib/momento/delete_response.rb +0 -24
- data/lib/momento/get_response_builder.rb +0 -37
- data/lib/momento/list_caches_response.rb +0 -77
- data/lib/momento/list_caches_response_builder.rb +0 -25
- data/lib/momento/set_response.rb +0 -39
- data/lib/momento/set_response_builder.rb +0 -25
- data/lib/momento/simple_cache_client.rb +0 -336
- /data/lib/momento/{response_builder.rb → response/response_builder.rb} +0 -0
@@ -0,0 +1,90 @@
|
|
1
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
2
|
+
# Source: cacheclient.proto for package 'cache_client'
|
3
|
+
|
4
|
+
require 'grpc'
|
5
|
+
require_relative 'cacheclient_pb'
|
6
|
+
|
7
|
+
module MomentoProtos
|
8
|
+
module CacheClient
|
9
|
+
module Scs
|
10
|
+
class Service
|
11
|
+
include ::GRPC::GenericService
|
12
|
+
|
13
|
+
self.marshal_class_method = :encode
|
14
|
+
self.unmarshal_class_method = :decode
|
15
|
+
self.service_name = 'cache_client.Scs'
|
16
|
+
|
17
|
+
rpc :Get, ::MomentoProtos::CacheClient::PB__GetRequest, ::MomentoProtos::CacheClient::PB__GetResponse
|
18
|
+
rpc :GetBatch, ::MomentoProtos::CacheClient::PB__GetBatchRequest, stream(::MomentoProtos::CacheClient::PB__GetResponse)
|
19
|
+
rpc :Set, ::MomentoProtos::CacheClient::PB__SetRequest, ::MomentoProtos::CacheClient::PB__SetResponse
|
20
|
+
rpc :SetBatch, ::MomentoProtos::CacheClient::PB__SetBatchRequest, stream(::MomentoProtos::CacheClient::PB__SetResponse)
|
21
|
+
rpc :SetIf, ::MomentoProtos::CacheClient::PB__SetIfRequest, ::MomentoProtos::CacheClient::PB__SetIfResponse
|
22
|
+
# Deprecated because we have SetIf - Absent to cover this case.
|
23
|
+
rpc :SetIfNotExists, ::MomentoProtos::CacheClient::PB__SetIfNotExistsRequest, ::MomentoProtos::CacheClient::PB__SetIfNotExistsResponse
|
24
|
+
rpc :Delete, ::MomentoProtos::CacheClient::PB__DeleteRequest, ::MomentoProtos::CacheClient::PB__DeleteResponse
|
25
|
+
rpc :KeysExist, ::MomentoProtos::CacheClient::PB__KeysExistRequest, ::MomentoProtos::CacheClient::PB__KeysExistResponse
|
26
|
+
rpc :Increment, ::MomentoProtos::CacheClient::PB__IncrementRequest, ::MomentoProtos::CacheClient::PB__IncrementResponse
|
27
|
+
rpc :UpdateTtl, ::MomentoProtos::CacheClient::PB__UpdateTtlRequest, ::MomentoProtos::CacheClient::PB__UpdateTtlResponse
|
28
|
+
rpc :ItemGetTtl, ::MomentoProtos::CacheClient::PB__ItemGetTtlRequest, ::MomentoProtos::CacheClient::PB__ItemGetTtlResponse
|
29
|
+
rpc :ItemGetType, ::MomentoProtos::CacheClient::PB__ItemGetTypeRequest, ::MomentoProtos::CacheClient::PB__ItemGetTypeResponse
|
30
|
+
rpc :DictionaryGet, ::MomentoProtos::CacheClient::PB__DictionaryGetRequest, ::MomentoProtos::CacheClient::PB__DictionaryGetResponse
|
31
|
+
rpc :DictionaryFetch, ::MomentoProtos::CacheClient::PB__DictionaryFetchRequest, ::MomentoProtos::CacheClient::PB__DictionaryFetchResponse
|
32
|
+
rpc :DictionarySet, ::MomentoProtos::CacheClient::PB__DictionarySetRequest, ::MomentoProtos::CacheClient::PB__DictionarySetResponse
|
33
|
+
rpc :DictionaryIncrement, ::MomentoProtos::CacheClient::PB__DictionaryIncrementRequest, ::MomentoProtos::CacheClient::PB__DictionaryIncrementResponse
|
34
|
+
rpc :DictionaryDelete, ::MomentoProtos::CacheClient::PB__DictionaryDeleteRequest, ::MomentoProtos::CacheClient::PB__DictionaryDeleteResponse
|
35
|
+
rpc :DictionaryLength, ::MomentoProtos::CacheClient::PB__DictionaryLengthRequest, ::MomentoProtos::CacheClient::PB__DictionaryLengthResponse
|
36
|
+
rpc :SetFetch, ::MomentoProtos::CacheClient::PB__SetFetchRequest, ::MomentoProtos::CacheClient::PB__SetFetchResponse
|
37
|
+
rpc :SetSample, ::MomentoProtos::CacheClient::PB__SetSampleRequest, ::MomentoProtos::CacheClient::PB__SetSampleResponse
|
38
|
+
rpc :SetUnion, ::MomentoProtos::CacheClient::PB__SetUnionRequest, ::MomentoProtos::CacheClient::PB__SetUnionResponse
|
39
|
+
rpc :SetDifference, ::MomentoProtos::CacheClient::PB__SetDifferenceRequest, ::MomentoProtos::CacheClient::PB__SetDifferenceResponse
|
40
|
+
rpc :SetContains, ::MomentoProtos::CacheClient::PB__SetContainsRequest, ::MomentoProtos::CacheClient::PB__SetContainsResponse
|
41
|
+
rpc :SetLength, ::MomentoProtos::CacheClient::PB__SetLengthRequest, ::MomentoProtos::CacheClient::PB__SetLengthResponse
|
42
|
+
rpc :SetPop, ::MomentoProtos::CacheClient::PB__SetPopRequest, ::MomentoProtos::CacheClient::PB__SetPopResponse
|
43
|
+
rpc :ListPushFront, ::MomentoProtos::CacheClient::PB__ListPushFrontRequest, ::MomentoProtos::CacheClient::PB__ListPushFrontResponse
|
44
|
+
rpc :ListPushBack, ::MomentoProtos::CacheClient::PB__ListPushBackRequest, ::MomentoProtos::CacheClient::PB__ListPushBackResponse
|
45
|
+
rpc :ListPopFront, ::MomentoProtos::CacheClient::PB__ListPopFrontRequest, ::MomentoProtos::CacheClient::PB__ListPopFrontResponse
|
46
|
+
rpc :ListPopBack, ::MomentoProtos::CacheClient::PB__ListPopBackRequest, ::MomentoProtos::CacheClient::PB__ListPopBackResponse
|
47
|
+
rpc :ListErase, ::MomentoProtos::CacheClient::PB__ListEraseRequest, ::MomentoProtos::CacheClient::PB__ListEraseResponse
|
48
|
+
rpc :ListRemove, ::MomentoProtos::CacheClient::PB__ListRemoveRequest, ::MomentoProtos::CacheClient::PB__ListRemoveResponse
|
49
|
+
rpc :ListFetch, ::MomentoProtos::CacheClient::PB__ListFetchRequest, ::MomentoProtos::CacheClient::PB__ListFetchResponse
|
50
|
+
rpc :ListLength, ::MomentoProtos::CacheClient::PB__ListLengthRequest, ::MomentoProtos::CacheClient::PB__ListLengthResponse
|
51
|
+
rpc :ListConcatenateFront, ::MomentoProtos::CacheClient::PB__ListConcatenateFrontRequest, ::MomentoProtos::CacheClient::PB__ListConcatenateFrontResponse
|
52
|
+
rpc :ListConcatenateBack, ::MomentoProtos::CacheClient::PB__ListConcatenateBackRequest, ::MomentoProtos::CacheClient::PB__ListConcatenateBackResponse
|
53
|
+
rpc :ListRetain, ::MomentoProtos::CacheClient::PB__ListRetainRequest, ::MomentoProtos::CacheClient::PB__ListRetainResponse
|
54
|
+
# Sorted Set Operations
|
55
|
+
# A sorted set is a collection of elements ordered by their score.
|
56
|
+
# The elements with same score are ordered lexicographically.
|
57
|
+
#
|
58
|
+
# Add or Updates new element with its score to the Sorted Set.
|
59
|
+
# If sorted set doesn't exist, a new one is created with the specified
|
60
|
+
# element and its associated score.
|
61
|
+
# If an element exists, then its associate score gets overridden with the one
|
62
|
+
# provided in this operation.
|
63
|
+
rpc :SortedSetPut, ::MomentoProtos::CacheClient::PB__SortedSetPutRequest, ::MomentoProtos::CacheClient::PB__SortedSetPutResponse
|
64
|
+
# Fetches a subset of elements in the sorted set.
|
65
|
+
rpc :SortedSetFetch, ::MomentoProtos::CacheClient::PB__SortedSetFetchRequest, ::MomentoProtos::CacheClient::PB__SortedSetFetchResponse
|
66
|
+
# Gets the specified element and its associated score if it exists in the
|
67
|
+
# sorted set.
|
68
|
+
rpc :SortedSetGetScore, ::MomentoProtos::CacheClient::PB__SortedSetGetScoreRequest, ::MomentoProtos::CacheClient::PB__SortedSetGetScoreResponse
|
69
|
+
# Removes specified elements and their associated scores
|
70
|
+
rpc :SortedSetRemove, ::MomentoProtos::CacheClient::PB__SortedSetRemoveRequest, ::MomentoProtos::CacheClient::PB__SortedSetRemoveResponse
|
71
|
+
# Changes the score associated with the element by specified amount.
|
72
|
+
# If the provided amount is negative, then the score associated with the
|
73
|
+
# element is decremented.
|
74
|
+
# If the element that needs to be incremented isn't present in the sorted
|
75
|
+
# set, it is added with specified number as the score.
|
76
|
+
# If the set itself doesn't exist then a new one with specified element and
|
77
|
+
# score is created.
|
78
|
+
rpc :SortedSetIncrement, ::MomentoProtos::CacheClient::PB__SortedSetIncrementRequest, ::MomentoProtos::CacheClient::PB__SortedSetIncrementResponse
|
79
|
+
# Gives the rank of an element.
|
80
|
+
rpc :SortedSetGetRank, ::MomentoProtos::CacheClient::PB__SortedSetGetRankRequest, ::MomentoProtos::CacheClient::PB__SortedSetGetRankResponse
|
81
|
+
# Returns length of the sorted set
|
82
|
+
rpc :SortedSetLength, ::MomentoProtos::CacheClient::PB__SortedSetLengthRequest, ::MomentoProtos::CacheClient::PB__SortedSetLengthResponse
|
83
|
+
# Returns number of elements in the sorted set between a given min and max score
|
84
|
+
rpc :SortedSetLengthByScore, ::MomentoProtos::CacheClient::PB__SortedSetLengthByScoreRequest, ::MomentoProtos::CacheClient::PB__SortedSetLengthByScoreResponse
|
85
|
+
end
|
86
|
+
|
87
|
+
Stub = Service.rpc_stub_class
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
4
|
+
# source: cacheping.proto
|
5
|
+
|
6
|
+
require 'google/protobuf'
|
7
|
+
|
8
|
+
descriptor_data = "\n\x0f\x63\x61\x63heping.proto\x12\x0c\x63\x61\x63he_client\"\x0e\n\x0c_PingRequest\"\x0f\n\r_PingResponse2I\n\x04Ping\x12\x41\n\x04Ping\x12\x1a.cache_client._PingRequest\x1a\x1b.cache_client._PingResponse\"\x00\x42\x62\n\x11grpc.cache_clientP\x01Z0github.com/momentohq/client-sdk-go;client_sdk_go\xaa\x02\x18Momento.Protos.CachePingb\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 CacheClient
|
35
|
+
PB__PingRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cache_client._PingRequest").msgclass
|
36
|
+
PB__PingResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cache_client._PingResponse").msgclass
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
2
|
+
# Source: cacheping.proto for package 'cache_client'
|
3
|
+
|
4
|
+
require 'grpc'
|
5
|
+
require_relative 'cacheping_pb'
|
6
|
+
|
7
|
+
module MomentoProtos
|
8
|
+
module CacheClient
|
9
|
+
module Ping
|
10
|
+
class Service
|
11
|
+
include ::GRPC::GenericService
|
12
|
+
|
13
|
+
self.marshal_class_method = :encode
|
14
|
+
self.unmarshal_class_method = :decode
|
15
|
+
self.service_name = 'cache_client.Ping'
|
16
|
+
|
17
|
+
rpc :Ping, ::MomentoProtos::CacheClient::PB__PingRequest, ::MomentoProtos::CacheClient::PB__PingResponse
|
18
|
+
end
|
19
|
+
|
20
|
+
Stub = Service.rpc_stub_class
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -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
|