This is the generated code for the common APIs for DEEP. This is generated from the project intergra/deep-proto.
The usage of these packages differs between server and clients. Please see GRPC docs for more guidance.
To use this as a client:
import grpc
from deepproto.proto.tracepoint.v1.tracepoint_pb2 import Snapshot
def pollServer()
# setup the connection channel
channel = grpc.secure_channel("deep:43315", grpc.ssl_channel_credentials())
# create stub service
stub = PollConfigStub(channel)
# create request
request = PollRequest()
# send request and await response
response = stub.poll(request)
def sendSnapshot()
# setup the connection channel
channel = grpc.secure_channel("deep:43315", grpc.ssl_channel_credentials())
# create stub service
stub = SnapshotServiceStub(channel)
# create grpc snapshot message
snapshot = Snapshot()
# send snapshot, and await response
response = stub.send(snapshot)
To use this as a server:
import deepproto
import grpc
from deepproto.proto.poll.v1.poll_pb2 import PollResponse, ResponseType
from deepproto.proto.poll.v1.poll_pb2_grpc import PollConfigServicer
from deepproto.proto.tracepoint.v1.tracepoint_pb2 import TracePointConfig, SnapshotResponse
from deepproto.proto.tracepoint.v1.tracepoint_pb2_grpc import SnapshotServiceServicer
def serve():
# configure GRPC
server = grpc.server(futures.ThreadPoolExecutor(max_workers=10))
# register the services
deepproto.proto.poll.v1.poll_pb2_grpc.add_PollConfigServicer_to_server(PollServicer(), server)
deepproto.proto.tracepoint.v1.tracepoint_pb2_grpc.add_SnapshotServiceServicer_to_server(SnapshotServicer(), server)
# start the server
server.add_insecure_port('[::]:43315')
server.start()
server.wait_for_termination()
class SnapshotServicer(SnapshotServiceServicer):
def send(self, request, context):
# Code to process a new snapshot
return SnapshotResponse()
class PollServicer(PollConfigServicer):
def poll(self, request, context):
# code to process a poll request
return PollResponse()
The documentation for this project is available here.
This project is licensed as AGPL-3.0-only.