momento 0.2.0 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|