mirror of
https://github.com/cloudflare/cloudflared.git
synced 2025-07-29 21:19:58 +00:00
TUN-528: Move cloudflared into a separate repo
This commit is contained in:
8
vendor/github.com/grpc-ecosystem/grpc-opentracing/python/examples/store/README.md
generated
vendored
Normal file
8
vendor/github.com/grpc-ecosystem/grpc-opentracing/python/examples/store/README.md
generated
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
An example that demonstrates how the OpenTracing extensions work with
|
||||
asynchronous and streaming RPC calls.
|
||||
|
||||
## Usage
|
||||
```
|
||||
python store_server.py &
|
||||
python store_client.py
|
||||
```
|
4
vendor/github.com/grpc-ecosystem/grpc-opentracing/python/examples/store/run_codegen.py
generated
vendored
Normal file
4
vendor/github.com/grpc-ecosystem/grpc-opentracing/python/examples/store/run_codegen.py
generated
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
from grpc_tools import protoc
|
||||
|
||||
protoc.main(('', '-I../protos', '--python_out=.', '--grpc_python_out=.',
|
||||
'../protos/store.proto'))
|
211
vendor/github.com/grpc-ecosystem/grpc-opentracing/python/examples/store/store_client.py
generated
vendored
Normal file
211
vendor/github.com/grpc-ecosystem/grpc-opentracing/python/examples/store/store_client.py
generated
vendored
Normal file
@@ -0,0 +1,211 @@
|
||||
# A OpenTraced client for a Python service that implements the store interface.
|
||||
from __future__ import print_function
|
||||
|
||||
import time
|
||||
import argparse
|
||||
from builtins import input, range
|
||||
|
||||
import grpc
|
||||
from jaeger_client import Config
|
||||
|
||||
from grpc_opentracing import open_tracing_client_interceptor, \
|
||||
SpanDecorator
|
||||
from grpc_opentracing.grpcext import intercept_channel
|
||||
|
||||
import store_pb2
|
||||
|
||||
|
||||
class CommandExecuter(object):
|
||||
|
||||
def __init__(self, stub):
|
||||
self._stub = stub
|
||||
|
||||
def _execute_rpc(self, method, via, timeout, request_or_iterator):
|
||||
if via == 'future':
|
||||
result = getattr(self._stub, method).future(request_or_iterator,
|
||||
timeout)
|
||||
return result.result()
|
||||
elif via == 'with_call':
|
||||
return getattr(self._stub, method).with_call(request_or_iterator,
|
||||
timeout)[0]
|
||||
else:
|
||||
return getattr(self._stub, method)(request_or_iterator, timeout)
|
||||
|
||||
def do_stock_item(self, via, timeout, arguments):
|
||||
if len(arguments) != 1:
|
||||
print('must input a single item')
|
||||
return
|
||||
request = store_pb2.AddItemRequest(name=arguments[0])
|
||||
self._execute_rpc('AddItem', via, timeout, request)
|
||||
|
||||
def do_stock_items(self, via, timeout, arguments):
|
||||
if not arguments:
|
||||
print('must input at least one item')
|
||||
return
|
||||
requests = [store_pb2.AddItemRequest(name=name) for name in arguments]
|
||||
self._execute_rpc('AddItems', via, timeout, iter(requests))
|
||||
|
||||
def do_sell_item(self, via, timeout, arguments):
|
||||
if len(arguments) != 1:
|
||||
print('must input a single item')
|
||||
return
|
||||
request = store_pb2.RemoveItemRequest(name=arguments[0])
|
||||
response = self._execute_rpc('RemoveItem', via, timeout, request)
|
||||
if not response.was_successful:
|
||||
print('unable to sell')
|
||||
|
||||
def do_sell_items(self, via, timeout, arguments):
|
||||
if not arguments:
|
||||
print('must input at least one item')
|
||||
return
|
||||
requests = [
|
||||
store_pb2.RemoveItemRequest(name=name) for name in arguments
|
||||
]
|
||||
response = self._execute_rpc('RemoveItems', via, timeout,
|
||||
iter(requests))
|
||||
if not response.was_successful:
|
||||
print('unable to sell')
|
||||
|
||||
def do_inventory(self, via, timeout, arguments):
|
||||
if arguments:
|
||||
print('inventory does not take any arguments')
|
||||
return
|
||||
if via != 'functor':
|
||||
print('inventory can only be called via functor')
|
||||
return
|
||||
request = store_pb2.Empty()
|
||||
result = self._execute_rpc('ListInventory', via, timeout, request)
|
||||
for query in result:
|
||||
print(query.name, '\t', query.count)
|
||||
|
||||
def do_query_item(self, via, timeout, arguments):
|
||||
if len(arguments) != 1:
|
||||
print('must input a single item')
|
||||
return
|
||||
request = store_pb2.QueryItemRequest(name=arguments[0])
|
||||
query = self._execute_rpc('QueryQuantity', via, timeout, request)
|
||||
print(query.name, '\t', query.count)
|
||||
|
||||
def do_query_items(self, via, timeout, arguments):
|
||||
if not arguments:
|
||||
print('must input at least one item')
|
||||
return
|
||||
if via != 'functor':
|
||||
print('query_items can only be called via functor')
|
||||
return
|
||||
requests = [store_pb2.QueryItemRequest(name=name) for name in arguments]
|
||||
result = self._execute_rpc('QueryQuantities', via, timeout,
|
||||
iter(requests))
|
||||
for query in result:
|
||||
print(query.name, '\t', query.count)
|
||||
|
||||
|
||||
def execute_command(command_executer, command, arguments):
|
||||
via = 'functor'
|
||||
timeout = None
|
||||
for argument_index in range(0, len(arguments), 2):
|
||||
argument = arguments[argument_index]
|
||||
if argument == '--via' and argument_index + 1 < len(arguments):
|
||||
if via not in ('functor', 'with_call', 'future'):
|
||||
print('invalid --via option')
|
||||
return
|
||||
via = arguments[argument_index + 1]
|
||||
elif argument == '--timeout' and argument_index + 1 < len(arguments):
|
||||
timeout = float(arguments[argument_index + 1])
|
||||
else:
|
||||
arguments = arguments[argument_index:]
|
||||
break
|
||||
|
||||
try:
|
||||
getattr(command_executer, 'do_' + command)(via, timeout, arguments)
|
||||
except AttributeError:
|
||||
print('unknown command: \"%s\"' % command)
|
||||
|
||||
|
||||
INSTRUCTIONS = \
|
||||
"""Enter commands to interact with the store service:
|
||||
|
||||
stock_item Stock a single item.
|
||||
stock_items Stock one or more items.
|
||||
sell_item Sell a single item.
|
||||
sell_items Sell one or more items.
|
||||
inventory List the store's inventory.
|
||||
query_item Query the inventory for a single item.
|
||||
query_items Query the inventory for one or more items.
|
||||
|
||||
You can also optionally provide a --via argument to instruct the RPC to be
|
||||
initiated via either the functor, with_call, or future method; or provide a
|
||||
--timeout argument to set a deadline for the RPC to be completed.
|
||||
|
||||
Example:
|
||||
> stock_item apple
|
||||
> stock_items --via future apple milk
|
||||
> inventory
|
||||
apple 2
|
||||
milk 1
|
||||
"""
|
||||
|
||||
|
||||
def read_and_execute(command_executer):
|
||||
print(INSTRUCTIONS)
|
||||
while True:
|
||||
try:
|
||||
line = input('> ')
|
||||
components = line.split()
|
||||
if not components:
|
||||
continue
|
||||
command = components[0]
|
||||
arguments = components[1:]
|
||||
execute_command(command_executer, command, arguments)
|
||||
except EOFError:
|
||||
break
|
||||
|
||||
|
||||
class StoreSpanDecorator(SpanDecorator):
|
||||
|
||||
def __call__(self, span, rpc_info):
|
||||
span.set_tag('grpc.method', rpc_info.full_method)
|
||||
span.set_tag('grpc.headers', str(rpc_info.metadata))
|
||||
span.set_tag('grpc.deadline', str(rpc_info.timeout))
|
||||
|
||||
|
||||
def run():
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument(
|
||||
'--log_payloads',
|
||||
action='store_true',
|
||||
help='log request/response objects to open-tracing spans')
|
||||
parser.add_argument(
|
||||
'--include_grpc_tags',
|
||||
action='store_true',
|
||||
help='set gRPC-specific tags on spans')
|
||||
args = parser.parse_args()
|
||||
|
||||
config = Config(
|
||||
config={
|
||||
'sampler': {
|
||||
'type': 'const',
|
||||
'param': 1,
|
||||
},
|
||||
'logging': True,
|
||||
},
|
||||
service_name='store-client')
|
||||
tracer = config.initialize_tracer()
|
||||
span_decorator = None
|
||||
if args.include_grpc_tags:
|
||||
span_decorator = StoreSpanDecorator()
|
||||
tracer_interceptor = open_tracing_client_interceptor(
|
||||
tracer, log_payloads=args.log_payloads, span_decorator=span_decorator)
|
||||
channel = grpc.insecure_channel('localhost:50051')
|
||||
channel = intercept_channel(channel, tracer_interceptor)
|
||||
stub = store_pb2.StoreStub(channel)
|
||||
|
||||
read_and_execute(CommandExecuter(stub))
|
||||
|
||||
time.sleep(2)
|
||||
tracer.close()
|
||||
time.sleep(2)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
run()
|
523
vendor/github.com/grpc-ecosystem/grpc-opentracing/python/examples/store/store_pb2.py
generated
vendored
Normal file
523
vendor/github.com/grpc-ecosystem/grpc-opentracing/python/examples/store/store_pb2.py
generated
vendored
Normal file
@@ -0,0 +1,523 @@
|
||||
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
||||
# source: store.proto
|
||||
|
||||
import sys
|
||||
_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
|
||||
from google.protobuf import descriptor as _descriptor
|
||||
from google.protobuf import message as _message
|
||||
from google.protobuf import reflection as _reflection
|
||||
from google.protobuf import symbol_database as _symbol_database
|
||||
from google.protobuf import descriptor_pb2
|
||||
# @@protoc_insertion_point(imports)
|
||||
|
||||
_sym_db = _symbol_database.Default()
|
||||
|
||||
|
||||
|
||||
|
||||
DESCRIPTOR = _descriptor.FileDescriptor(
|
||||
name='store.proto',
|
||||
package='store',
|
||||
syntax='proto3',
|
||||
serialized_pb=_b('\n\x0bstore.proto\x12\x05store\"\x07\n\x05\x45mpty\"\x1e\n\x0e\x41\x64\x64ItemRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"!\n\x11RemoveItemRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\",\n\x12RemoveItemResponse\x12\x16\n\x0ewas_successful\x18\x01 \x01(\x08\" \n\x10QueryItemRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"/\n\x10QuantityResponse\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05\x63ount\x18\x02 \x01(\x05\x32\xc7\x03\n\x05Store\x12\x30\n\x07\x41\x64\x64Item\x12\x15.store.AddItemRequest\x1a\x0c.store.Empty\"\x00\x12\x33\n\x08\x41\x64\x64Items\x12\x15.store.AddItemRequest\x1a\x0c.store.Empty\"\x00(\x01\x12\x43\n\nRemoveItem\x12\x18.store.RemoveItemRequest\x1a\x19.store.RemoveItemResponse\"\x00\x12\x46\n\x0bRemoveItems\x12\x18.store.RemoveItemRequest\x1a\x19.store.RemoveItemResponse\"\x00(\x01\x12:\n\rListInventory\x12\x0c.store.Empty\x1a\x17.store.QuantityResponse\"\x00\x30\x01\x12\x43\n\rQueryQuantity\x12\x17.store.QueryItemRequest\x1a\x17.store.QuantityResponse\"\x00\x12I\n\x0fQueryQuantities\x12\x17.store.QueryItemRequest\x1a\x17.store.QuantityResponse\"\x00(\x01\x30\x01\x62\x06proto3')
|
||||
)
|
||||
_sym_db.RegisterFileDescriptor(DESCRIPTOR)
|
||||
|
||||
|
||||
|
||||
|
||||
_EMPTY = _descriptor.Descriptor(
|
||||
name='Empty',
|
||||
full_name='store.Empty',
|
||||
filename=None,
|
||||
file=DESCRIPTOR,
|
||||
containing_type=None,
|
||||
fields=[
|
||||
],
|
||||
extensions=[
|
||||
],
|
||||
nested_types=[],
|
||||
enum_types=[
|
||||
],
|
||||
options=None,
|
||||
is_extendable=False,
|
||||
syntax='proto3',
|
||||
extension_ranges=[],
|
||||
oneofs=[
|
||||
],
|
||||
serialized_start=22,
|
||||
serialized_end=29,
|
||||
)
|
||||
|
||||
|
||||
_ADDITEMREQUEST = _descriptor.Descriptor(
|
||||
name='AddItemRequest',
|
||||
full_name='store.AddItemRequest',
|
||||
filename=None,
|
||||
file=DESCRIPTOR,
|
||||
containing_type=None,
|
||||
fields=[
|
||||
_descriptor.FieldDescriptor(
|
||||
name='name', full_name='store.AddItemRequest.name', index=0,
|
||||
number=1, type=9, cpp_type=9, label=1,
|
||||
has_default_value=False, default_value=_b("").decode('utf-8'),
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
options=None),
|
||||
],
|
||||
extensions=[
|
||||
],
|
||||
nested_types=[],
|
||||
enum_types=[
|
||||
],
|
||||
options=None,
|
||||
is_extendable=False,
|
||||
syntax='proto3',
|
||||
extension_ranges=[],
|
||||
oneofs=[
|
||||
],
|
||||
serialized_start=31,
|
||||
serialized_end=61,
|
||||
)
|
||||
|
||||
|
||||
_REMOVEITEMREQUEST = _descriptor.Descriptor(
|
||||
name='RemoveItemRequest',
|
||||
full_name='store.RemoveItemRequest',
|
||||
filename=None,
|
||||
file=DESCRIPTOR,
|
||||
containing_type=None,
|
||||
fields=[
|
||||
_descriptor.FieldDescriptor(
|
||||
name='name', full_name='store.RemoveItemRequest.name', index=0,
|
||||
number=1, type=9, cpp_type=9, label=1,
|
||||
has_default_value=False, default_value=_b("").decode('utf-8'),
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
options=None),
|
||||
],
|
||||
extensions=[
|
||||
],
|
||||
nested_types=[],
|
||||
enum_types=[
|
||||
],
|
||||
options=None,
|
||||
is_extendable=False,
|
||||
syntax='proto3',
|
||||
extension_ranges=[],
|
||||
oneofs=[
|
||||
],
|
||||
serialized_start=63,
|
||||
serialized_end=96,
|
||||
)
|
||||
|
||||
|
||||
_REMOVEITEMRESPONSE = _descriptor.Descriptor(
|
||||
name='RemoveItemResponse',
|
||||
full_name='store.RemoveItemResponse',
|
||||
filename=None,
|
||||
file=DESCRIPTOR,
|
||||
containing_type=None,
|
||||
fields=[
|
||||
_descriptor.FieldDescriptor(
|
||||
name='was_successful', full_name='store.RemoveItemResponse.was_successful', index=0,
|
||||
number=1, type=8, cpp_type=7, label=1,
|
||||
has_default_value=False, default_value=False,
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
options=None),
|
||||
],
|
||||
extensions=[
|
||||
],
|
||||
nested_types=[],
|
||||
enum_types=[
|
||||
],
|
||||
options=None,
|
||||
is_extendable=False,
|
||||
syntax='proto3',
|
||||
extension_ranges=[],
|
||||
oneofs=[
|
||||
],
|
||||
serialized_start=98,
|
||||
serialized_end=142,
|
||||
)
|
||||
|
||||
|
||||
_QUERYITEMREQUEST = _descriptor.Descriptor(
|
||||
name='QueryItemRequest',
|
||||
full_name='store.QueryItemRequest',
|
||||
filename=None,
|
||||
file=DESCRIPTOR,
|
||||
containing_type=None,
|
||||
fields=[
|
||||
_descriptor.FieldDescriptor(
|
||||
name='name', full_name='store.QueryItemRequest.name', index=0,
|
||||
number=1, type=9, cpp_type=9, label=1,
|
||||
has_default_value=False, default_value=_b("").decode('utf-8'),
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
options=None),
|
||||
],
|
||||
extensions=[
|
||||
],
|
||||
nested_types=[],
|
||||
enum_types=[
|
||||
],
|
||||
options=None,
|
||||
is_extendable=False,
|
||||
syntax='proto3',
|
||||
extension_ranges=[],
|
||||
oneofs=[
|
||||
],
|
||||
serialized_start=144,
|
||||
serialized_end=176,
|
||||
)
|
||||
|
||||
|
||||
_QUANTITYRESPONSE = _descriptor.Descriptor(
|
||||
name='QuantityResponse',
|
||||
full_name='store.QuantityResponse',
|
||||
filename=None,
|
||||
file=DESCRIPTOR,
|
||||
containing_type=None,
|
||||
fields=[
|
||||
_descriptor.FieldDescriptor(
|
||||
name='name', full_name='store.QuantityResponse.name', index=0,
|
||||
number=1, type=9, cpp_type=9, label=1,
|
||||
has_default_value=False, default_value=_b("").decode('utf-8'),
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
options=None),
|
||||
_descriptor.FieldDescriptor(
|
||||
name='count', full_name='store.QuantityResponse.count', index=1,
|
||||
number=2, type=5, cpp_type=1, label=1,
|
||||
has_default_value=False, default_value=0,
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
options=None),
|
||||
],
|
||||
extensions=[
|
||||
],
|
||||
nested_types=[],
|
||||
enum_types=[
|
||||
],
|
||||
options=None,
|
||||
is_extendable=False,
|
||||
syntax='proto3',
|
||||
extension_ranges=[],
|
||||
oneofs=[
|
||||
],
|
||||
serialized_start=178,
|
||||
serialized_end=225,
|
||||
)
|
||||
|
||||
DESCRIPTOR.message_types_by_name['Empty'] = _EMPTY
|
||||
DESCRIPTOR.message_types_by_name['AddItemRequest'] = _ADDITEMREQUEST
|
||||
DESCRIPTOR.message_types_by_name['RemoveItemRequest'] = _REMOVEITEMREQUEST
|
||||
DESCRIPTOR.message_types_by_name['RemoveItemResponse'] = _REMOVEITEMRESPONSE
|
||||
DESCRIPTOR.message_types_by_name['QueryItemRequest'] = _QUERYITEMREQUEST
|
||||
DESCRIPTOR.message_types_by_name['QuantityResponse'] = _QUANTITYRESPONSE
|
||||
|
||||
Empty = _reflection.GeneratedProtocolMessageType('Empty', (_message.Message,), dict(
|
||||
DESCRIPTOR = _EMPTY,
|
||||
__module__ = 'store_pb2'
|
||||
# @@protoc_insertion_point(class_scope:store.Empty)
|
||||
))
|
||||
_sym_db.RegisterMessage(Empty)
|
||||
|
||||
AddItemRequest = _reflection.GeneratedProtocolMessageType('AddItemRequest', (_message.Message,), dict(
|
||||
DESCRIPTOR = _ADDITEMREQUEST,
|
||||
__module__ = 'store_pb2'
|
||||
# @@protoc_insertion_point(class_scope:store.AddItemRequest)
|
||||
))
|
||||
_sym_db.RegisterMessage(AddItemRequest)
|
||||
|
||||
RemoveItemRequest = _reflection.GeneratedProtocolMessageType('RemoveItemRequest', (_message.Message,), dict(
|
||||
DESCRIPTOR = _REMOVEITEMREQUEST,
|
||||
__module__ = 'store_pb2'
|
||||
# @@protoc_insertion_point(class_scope:store.RemoveItemRequest)
|
||||
))
|
||||
_sym_db.RegisterMessage(RemoveItemRequest)
|
||||
|
||||
RemoveItemResponse = _reflection.GeneratedProtocolMessageType('RemoveItemResponse', (_message.Message,), dict(
|
||||
DESCRIPTOR = _REMOVEITEMRESPONSE,
|
||||
__module__ = 'store_pb2'
|
||||
# @@protoc_insertion_point(class_scope:store.RemoveItemResponse)
|
||||
))
|
||||
_sym_db.RegisterMessage(RemoveItemResponse)
|
||||
|
||||
QueryItemRequest = _reflection.GeneratedProtocolMessageType('QueryItemRequest', (_message.Message,), dict(
|
||||
DESCRIPTOR = _QUERYITEMREQUEST,
|
||||
__module__ = 'store_pb2'
|
||||
# @@protoc_insertion_point(class_scope:store.QueryItemRequest)
|
||||
))
|
||||
_sym_db.RegisterMessage(QueryItemRequest)
|
||||
|
||||
QuantityResponse = _reflection.GeneratedProtocolMessageType('QuantityResponse', (_message.Message,), dict(
|
||||
DESCRIPTOR = _QUANTITYRESPONSE,
|
||||
__module__ = 'store_pb2'
|
||||
# @@protoc_insertion_point(class_scope:store.QuantityResponse)
|
||||
))
|
||||
_sym_db.RegisterMessage(QuantityResponse)
|
||||
|
||||
|
||||
try:
|
||||
# THESE ELEMENTS WILL BE DEPRECATED.
|
||||
# Please use the generated *_pb2_grpc.py files instead.
|
||||
import grpc
|
||||
from grpc.framework.common import cardinality
|
||||
from grpc.framework.interfaces.face import utilities as face_utilities
|
||||
from grpc.beta import implementations as beta_implementations
|
||||
from grpc.beta import interfaces as beta_interfaces
|
||||
|
||||
|
||||
class StoreStub(object):
|
||||
|
||||
def __init__(self, channel):
|
||||
"""Constructor.
|
||||
|
||||
Args:
|
||||
channel: A grpc.Channel.
|
||||
"""
|
||||
self.AddItem = channel.unary_unary(
|
||||
'/store.Store/AddItem',
|
||||
request_serializer=AddItemRequest.SerializeToString,
|
||||
response_deserializer=Empty.FromString,
|
||||
)
|
||||
self.AddItems = channel.stream_unary(
|
||||
'/store.Store/AddItems',
|
||||
request_serializer=AddItemRequest.SerializeToString,
|
||||
response_deserializer=Empty.FromString,
|
||||
)
|
||||
self.RemoveItem = channel.unary_unary(
|
||||
'/store.Store/RemoveItem',
|
||||
request_serializer=RemoveItemRequest.SerializeToString,
|
||||
response_deserializer=RemoveItemResponse.FromString,
|
||||
)
|
||||
self.RemoveItems = channel.stream_unary(
|
||||
'/store.Store/RemoveItems',
|
||||
request_serializer=RemoveItemRequest.SerializeToString,
|
||||
response_deserializer=RemoveItemResponse.FromString,
|
||||
)
|
||||
self.ListInventory = channel.unary_stream(
|
||||
'/store.Store/ListInventory',
|
||||
request_serializer=Empty.SerializeToString,
|
||||
response_deserializer=QuantityResponse.FromString,
|
||||
)
|
||||
self.QueryQuantity = channel.unary_unary(
|
||||
'/store.Store/QueryQuantity',
|
||||
request_serializer=QueryItemRequest.SerializeToString,
|
||||
response_deserializer=QuantityResponse.FromString,
|
||||
)
|
||||
self.QueryQuantities = channel.stream_stream(
|
||||
'/store.Store/QueryQuantities',
|
||||
request_serializer=QueryItemRequest.SerializeToString,
|
||||
response_deserializer=QuantityResponse.FromString,
|
||||
)
|
||||
|
||||
|
||||
class StoreServicer(object):
|
||||
|
||||
def AddItem(self, request, context):
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def AddItems(self, request_iterator, context):
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def RemoveItem(self, request, context):
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def RemoveItems(self, request_iterator, context):
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def ListInventory(self, request, context):
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def QueryQuantity(self, request, context):
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def QueryQuantities(self, request_iterator, context):
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
|
||||
def add_StoreServicer_to_server(servicer, server):
|
||||
rpc_method_handlers = {
|
||||
'AddItem': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.AddItem,
|
||||
request_deserializer=AddItemRequest.FromString,
|
||||
response_serializer=Empty.SerializeToString,
|
||||
),
|
||||
'AddItems': grpc.stream_unary_rpc_method_handler(
|
||||
servicer.AddItems,
|
||||
request_deserializer=AddItemRequest.FromString,
|
||||
response_serializer=Empty.SerializeToString,
|
||||
),
|
||||
'RemoveItem': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.RemoveItem,
|
||||
request_deserializer=RemoveItemRequest.FromString,
|
||||
response_serializer=RemoveItemResponse.SerializeToString,
|
||||
),
|
||||
'RemoveItems': grpc.stream_unary_rpc_method_handler(
|
||||
servicer.RemoveItems,
|
||||
request_deserializer=RemoveItemRequest.FromString,
|
||||
response_serializer=RemoveItemResponse.SerializeToString,
|
||||
),
|
||||
'ListInventory': grpc.unary_stream_rpc_method_handler(
|
||||
servicer.ListInventory,
|
||||
request_deserializer=Empty.FromString,
|
||||
response_serializer=QuantityResponse.SerializeToString,
|
||||
),
|
||||
'QueryQuantity': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.QueryQuantity,
|
||||
request_deserializer=QueryItemRequest.FromString,
|
||||
response_serializer=QuantityResponse.SerializeToString,
|
||||
),
|
||||
'QueryQuantities': grpc.stream_stream_rpc_method_handler(
|
||||
servicer.QueryQuantities,
|
||||
request_deserializer=QueryItemRequest.FromString,
|
||||
response_serializer=QuantityResponse.SerializeToString,
|
||||
),
|
||||
}
|
||||
generic_handler = grpc.method_handlers_generic_handler(
|
||||
'store.Store', rpc_method_handlers)
|
||||
server.add_generic_rpc_handlers((generic_handler,))
|
||||
|
||||
|
||||
class BetaStoreServicer(object):
|
||||
"""The Beta API is deprecated for 0.15.0 and later.
|
||||
|
||||
It is recommended to use the GA API (classes and functions in this
|
||||
file not marked beta) for all further purposes. This class was generated
|
||||
only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0."""
|
||||
def AddItem(self, request, context):
|
||||
context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
|
||||
def AddItems(self, request_iterator, context):
|
||||
context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
|
||||
def RemoveItem(self, request, context):
|
||||
context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
|
||||
def RemoveItems(self, request_iterator, context):
|
||||
context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
|
||||
def ListInventory(self, request, context):
|
||||
context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
|
||||
def QueryQuantity(self, request, context):
|
||||
context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
|
||||
def QueryQuantities(self, request_iterator, context):
|
||||
context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
|
||||
|
||||
|
||||
class BetaStoreStub(object):
|
||||
"""The Beta API is deprecated for 0.15.0 and later.
|
||||
|
||||
It is recommended to use the GA API (classes and functions in this
|
||||
file not marked beta) for all further purposes. This class was generated
|
||||
only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0."""
|
||||
def AddItem(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
|
||||
raise NotImplementedError()
|
||||
AddItem.future = None
|
||||
def AddItems(self, request_iterator, timeout, metadata=None, with_call=False, protocol_options=None):
|
||||
raise NotImplementedError()
|
||||
AddItems.future = None
|
||||
def RemoveItem(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
|
||||
raise NotImplementedError()
|
||||
RemoveItem.future = None
|
||||
def RemoveItems(self, request_iterator, timeout, metadata=None, with_call=False, protocol_options=None):
|
||||
raise NotImplementedError()
|
||||
RemoveItems.future = None
|
||||
def ListInventory(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
|
||||
raise NotImplementedError()
|
||||
def QueryQuantity(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
|
||||
raise NotImplementedError()
|
||||
QueryQuantity.future = None
|
||||
def QueryQuantities(self, request_iterator, timeout, metadata=None, with_call=False, protocol_options=None):
|
||||
raise NotImplementedError()
|
||||
|
||||
|
||||
def beta_create_Store_server(servicer, pool=None, pool_size=None, default_timeout=None, maximum_timeout=None):
|
||||
"""The Beta API is deprecated for 0.15.0 and later.
|
||||
|
||||
It is recommended to use the GA API (classes and functions in this
|
||||
file not marked beta) for all further purposes. This function was
|
||||
generated only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0"""
|
||||
request_deserializers = {
|
||||
('store.Store', 'AddItem'): AddItemRequest.FromString,
|
||||
('store.Store', 'AddItems'): AddItemRequest.FromString,
|
||||
('store.Store', 'ListInventory'): Empty.FromString,
|
||||
('store.Store', 'QueryQuantities'): QueryItemRequest.FromString,
|
||||
('store.Store', 'QueryQuantity'): QueryItemRequest.FromString,
|
||||
('store.Store', 'RemoveItem'): RemoveItemRequest.FromString,
|
||||
('store.Store', 'RemoveItems'): RemoveItemRequest.FromString,
|
||||
}
|
||||
response_serializers = {
|
||||
('store.Store', 'AddItem'): Empty.SerializeToString,
|
||||
('store.Store', 'AddItems'): Empty.SerializeToString,
|
||||
('store.Store', 'ListInventory'): QuantityResponse.SerializeToString,
|
||||
('store.Store', 'QueryQuantities'): QuantityResponse.SerializeToString,
|
||||
('store.Store', 'QueryQuantity'): QuantityResponse.SerializeToString,
|
||||
('store.Store', 'RemoveItem'): RemoveItemResponse.SerializeToString,
|
||||
('store.Store', 'RemoveItems'): RemoveItemResponse.SerializeToString,
|
||||
}
|
||||
method_implementations = {
|
||||
('store.Store', 'AddItem'): face_utilities.unary_unary_inline(servicer.AddItem),
|
||||
('store.Store', 'AddItems'): face_utilities.stream_unary_inline(servicer.AddItems),
|
||||
('store.Store', 'ListInventory'): face_utilities.unary_stream_inline(servicer.ListInventory),
|
||||
('store.Store', 'QueryQuantities'): face_utilities.stream_stream_inline(servicer.QueryQuantities),
|
||||
('store.Store', 'QueryQuantity'): face_utilities.unary_unary_inline(servicer.QueryQuantity),
|
||||
('store.Store', 'RemoveItem'): face_utilities.unary_unary_inline(servicer.RemoveItem),
|
||||
('store.Store', 'RemoveItems'): face_utilities.stream_unary_inline(servicer.RemoveItems),
|
||||
}
|
||||
server_options = beta_implementations.server_options(request_deserializers=request_deserializers, response_serializers=response_serializers, thread_pool=pool, thread_pool_size=pool_size, default_timeout=default_timeout, maximum_timeout=maximum_timeout)
|
||||
return beta_implementations.server(method_implementations, options=server_options)
|
||||
|
||||
|
||||
def beta_create_Store_stub(channel, host=None, metadata_transformer=None, pool=None, pool_size=None):
|
||||
"""The Beta API is deprecated for 0.15.0 and later.
|
||||
|
||||
It is recommended to use the GA API (classes and functions in this
|
||||
file not marked beta) for all further purposes. This function was
|
||||
generated only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0"""
|
||||
request_serializers = {
|
||||
('store.Store', 'AddItem'): AddItemRequest.SerializeToString,
|
||||
('store.Store', 'AddItems'): AddItemRequest.SerializeToString,
|
||||
('store.Store', 'ListInventory'): Empty.SerializeToString,
|
||||
('store.Store', 'QueryQuantities'): QueryItemRequest.SerializeToString,
|
||||
('store.Store', 'QueryQuantity'): QueryItemRequest.SerializeToString,
|
||||
('store.Store', 'RemoveItem'): RemoveItemRequest.SerializeToString,
|
||||
('store.Store', 'RemoveItems'): RemoveItemRequest.SerializeToString,
|
||||
}
|
||||
response_deserializers = {
|
||||
('store.Store', 'AddItem'): Empty.FromString,
|
||||
('store.Store', 'AddItems'): Empty.FromString,
|
||||
('store.Store', 'ListInventory'): QuantityResponse.FromString,
|
||||
('store.Store', 'QueryQuantities'): QuantityResponse.FromString,
|
||||
('store.Store', 'QueryQuantity'): QuantityResponse.FromString,
|
||||
('store.Store', 'RemoveItem'): RemoveItemResponse.FromString,
|
||||
('store.Store', 'RemoveItems'): RemoveItemResponse.FromString,
|
||||
}
|
||||
cardinalities = {
|
||||
'AddItem': cardinality.Cardinality.UNARY_UNARY,
|
||||
'AddItems': cardinality.Cardinality.STREAM_UNARY,
|
||||
'ListInventory': cardinality.Cardinality.UNARY_STREAM,
|
||||
'QueryQuantities': cardinality.Cardinality.STREAM_STREAM,
|
||||
'QueryQuantity': cardinality.Cardinality.UNARY_UNARY,
|
||||
'RemoveItem': cardinality.Cardinality.UNARY_UNARY,
|
||||
'RemoveItems': cardinality.Cardinality.STREAM_UNARY,
|
||||
}
|
||||
stub_options = beta_implementations.stub_options(host=host, metadata_transformer=metadata_transformer, request_serializers=request_serializers, response_deserializers=response_deserializers, thread_pool=pool, thread_pool_size=pool_size)
|
||||
return beta_implementations.dynamic_stub(channel, 'store.Store', cardinalities, options=stub_options)
|
||||
except ImportError:
|
||||
pass
|
||||
# @@protoc_insertion_point(module_scope)
|
132
vendor/github.com/grpc-ecosystem/grpc-opentracing/python/examples/store/store_pb2_grpc.py
generated
vendored
Normal file
132
vendor/github.com/grpc-ecosystem/grpc-opentracing/python/examples/store/store_pb2_grpc.py
generated
vendored
Normal file
@@ -0,0 +1,132 @@
|
||||
# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
|
||||
import grpc
|
||||
from grpc.framework.common import cardinality
|
||||
from grpc.framework.interfaces.face import utilities as face_utilities
|
||||
|
||||
import store_pb2 as store__pb2
|
||||
|
||||
|
||||
class StoreStub(object):
|
||||
|
||||
def __init__(self, channel):
|
||||
"""Constructor.
|
||||
|
||||
Args:
|
||||
channel: A grpc.Channel.
|
||||
"""
|
||||
self.AddItem = channel.unary_unary(
|
||||
'/store.Store/AddItem',
|
||||
request_serializer=store__pb2.AddItemRequest.SerializeToString,
|
||||
response_deserializer=store__pb2.Empty.FromString,
|
||||
)
|
||||
self.AddItems = channel.stream_unary(
|
||||
'/store.Store/AddItems',
|
||||
request_serializer=store__pb2.AddItemRequest.SerializeToString,
|
||||
response_deserializer=store__pb2.Empty.FromString,
|
||||
)
|
||||
self.RemoveItem = channel.unary_unary(
|
||||
'/store.Store/RemoveItem',
|
||||
request_serializer=store__pb2.RemoveItemRequest.SerializeToString,
|
||||
response_deserializer=store__pb2.RemoveItemResponse.FromString,
|
||||
)
|
||||
self.RemoveItems = channel.stream_unary(
|
||||
'/store.Store/RemoveItems',
|
||||
request_serializer=store__pb2.RemoveItemRequest.SerializeToString,
|
||||
response_deserializer=store__pb2.RemoveItemResponse.FromString,
|
||||
)
|
||||
self.ListInventory = channel.unary_stream(
|
||||
'/store.Store/ListInventory',
|
||||
request_serializer=store__pb2.Empty.SerializeToString,
|
||||
response_deserializer=store__pb2.QuantityResponse.FromString,
|
||||
)
|
||||
self.QueryQuantity = channel.unary_unary(
|
||||
'/store.Store/QueryQuantity',
|
||||
request_serializer=store__pb2.QueryItemRequest.SerializeToString,
|
||||
response_deserializer=store__pb2.QuantityResponse.FromString,
|
||||
)
|
||||
self.QueryQuantities = channel.stream_stream(
|
||||
'/store.Store/QueryQuantities',
|
||||
request_serializer=store__pb2.QueryItemRequest.SerializeToString,
|
||||
response_deserializer=store__pb2.QuantityResponse.FromString,
|
||||
)
|
||||
|
||||
|
||||
class StoreServicer(object):
|
||||
|
||||
def AddItem(self, request, context):
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def AddItems(self, request_iterator, context):
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def RemoveItem(self, request, context):
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def RemoveItems(self, request_iterator, context):
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def ListInventory(self, request, context):
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def QueryQuantity(self, request, context):
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def QueryQuantities(self, request_iterator, context):
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
|
||||
def add_StoreServicer_to_server(servicer, server):
|
||||
rpc_method_handlers = {
|
||||
'AddItem': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.AddItem,
|
||||
request_deserializer=store__pb2.AddItemRequest.FromString,
|
||||
response_serializer=store__pb2.Empty.SerializeToString,
|
||||
),
|
||||
'AddItems': grpc.stream_unary_rpc_method_handler(
|
||||
servicer.AddItems,
|
||||
request_deserializer=store__pb2.AddItemRequest.FromString,
|
||||
response_serializer=store__pb2.Empty.SerializeToString,
|
||||
),
|
||||
'RemoveItem': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.RemoveItem,
|
||||
request_deserializer=store__pb2.RemoveItemRequest.FromString,
|
||||
response_serializer=store__pb2.RemoveItemResponse.SerializeToString,
|
||||
),
|
||||
'RemoveItems': grpc.stream_unary_rpc_method_handler(
|
||||
servicer.RemoveItems,
|
||||
request_deserializer=store__pb2.RemoveItemRequest.FromString,
|
||||
response_serializer=store__pb2.RemoveItemResponse.SerializeToString,
|
||||
),
|
||||
'ListInventory': grpc.unary_stream_rpc_method_handler(
|
||||
servicer.ListInventory,
|
||||
request_deserializer=store__pb2.Empty.FromString,
|
||||
response_serializer=store__pb2.QuantityResponse.SerializeToString,
|
||||
),
|
||||
'QueryQuantity': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.QueryQuantity,
|
||||
request_deserializer=store__pb2.QueryItemRequest.FromString,
|
||||
response_serializer=store__pb2.QuantityResponse.SerializeToString,
|
||||
),
|
||||
'QueryQuantities': grpc.stream_stream_rpc_method_handler(
|
||||
servicer.QueryQuantities,
|
||||
request_deserializer=store__pb2.QueryItemRequest.FromString,
|
||||
response_serializer=store__pb2.QuantityResponse.SerializeToString,
|
||||
),
|
||||
}
|
||||
generic_handler = grpc.method_handlers_generic_handler(
|
||||
'store.Store', rpc_method_handlers)
|
||||
server.add_generic_rpc_handlers((generic_handler,))
|
122
vendor/github.com/grpc-ecosystem/grpc-opentracing/python/examples/store/store_server.py
generated
vendored
Normal file
122
vendor/github.com/grpc-ecosystem/grpc-opentracing/python/examples/store/store_server.py
generated
vendored
Normal file
@@ -0,0 +1,122 @@
|
||||
# A OpenTraced server for a Python service that implements the store interface.
|
||||
from __future__ import print_function
|
||||
|
||||
import time
|
||||
import argparse
|
||||
from collections import defaultdict
|
||||
|
||||
from six import iteritems
|
||||
|
||||
import grpc
|
||||
from concurrent import futures
|
||||
from jaeger_client import Config
|
||||
|
||||
from grpc_opentracing import open_tracing_server_interceptor, \
|
||||
SpanDecorator
|
||||
from grpc_opentracing.grpcext import intercept_server
|
||||
|
||||
import store_pb2
|
||||
|
||||
_ONE_DAY_IN_SECONDS = 60 * 60 * 24
|
||||
|
||||
|
||||
class Store(store_pb2.StoreServicer):
|
||||
|
||||
def __init__(self):
|
||||
self._inventory = defaultdict(int)
|
||||
|
||||
def AddItem(self, request, context):
|
||||
self._inventory[request.name] += 1
|
||||
return store_pb2.Empty()
|
||||
|
||||
def AddItems(self, request_iter, context):
|
||||
for request in request_iter:
|
||||
self._inventory[request.name] += 1
|
||||
return store_pb2.Empty()
|
||||
|
||||
def RemoveItem(self, request, context):
|
||||
new_quantity = self._inventory[request.name] - 1
|
||||
if new_quantity < 0:
|
||||
return store_pb2.RemoveItemResponse(was_successful=False)
|
||||
self._inventory[request.name] = new_quantity
|
||||
return store_pb2.RemoveItemResponse(was_successful=True)
|
||||
|
||||
def RemoveItems(self, request_iter, context):
|
||||
response = store_pb2.RemoveItemResponse(was_successful=True)
|
||||
for request in request_iter:
|
||||
response = self.RemoveItem(request, context)
|
||||
if not response.was_successful:
|
||||
break
|
||||
return response
|
||||
|
||||
def ListInventory(self, request, context):
|
||||
for name, count in iteritems(self._inventory):
|
||||
if not count:
|
||||
continue
|
||||
else:
|
||||
yield store_pb2.QuantityResponse(name=name, count=count)
|
||||
|
||||
def QueryQuantity(self, request, context):
|
||||
count = self._inventory[request.name]
|
||||
return store_pb2.QuantityResponse(name=request.name, count=count)
|
||||
|
||||
def QueryQuantities(self, request_iter, context):
|
||||
for request in request_iter:
|
||||
count = self._inventory[request.name]
|
||||
yield store_pb2.QuantityResponse(name=request.name, count=count)
|
||||
|
||||
|
||||
class StoreSpanDecorator(SpanDecorator):
|
||||
|
||||
def __call__(self, span, rpc_info):
|
||||
span.set_tag('grpc.method', rpc_info.full_method)
|
||||
span.set_tag('grpc.headers', str(rpc_info.metadata))
|
||||
span.set_tag('grpc.deadline', str(rpc_info.timeout))
|
||||
|
||||
|
||||
def serve():
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument(
|
||||
'--log_payloads',
|
||||
action='store_true',
|
||||
help='log request/response objects to open-tracing spans')
|
||||
parser.add_argument(
|
||||
'--include_grpc_tags',
|
||||
action='store_true',
|
||||
help='set gRPC-specific tags on spans')
|
||||
args = parser.parse_args()
|
||||
|
||||
config = Config(
|
||||
config={
|
||||
'sampler': {
|
||||
'type': 'const',
|
||||
'param': 1,
|
||||
},
|
||||
'logging': True,
|
||||
},
|
||||
service_name='store-server')
|
||||
tracer = config.initialize_tracer()
|
||||
span_decorator = None
|
||||
if args.include_grpc_tags:
|
||||
span_decorator = StoreSpanDecorator()
|
||||
tracer_interceptor = open_tracing_server_interceptor(
|
||||
tracer, log_payloads=args.log_payloads, span_decorator=span_decorator)
|
||||
server = grpc.server(futures.ThreadPoolExecutor(max_workers=10))
|
||||
server = intercept_server(server, tracer_interceptor)
|
||||
|
||||
store_pb2.add_StoreServicer_to_server(Store(), server)
|
||||
server.add_insecure_port('[::]:50051')
|
||||
server.start()
|
||||
try:
|
||||
while True:
|
||||
time.sleep(_ONE_DAY_IN_SECONDS)
|
||||
except KeyboardInterrupt:
|
||||
server.stop(0)
|
||||
|
||||
time.sleep(2)
|
||||
tracer.close()
|
||||
time.sleep(2)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
serve()
|
Reference in New Issue
Block a user