Sha256: 13b6524a8e3c2f64e70dbd87127f2d33eccdb630c03539f0b6cdee1b221694ae
Contents?: true
Size: 811 Bytes
Versions: 1
Compression:
Stored size: 811 Bytes
Contents
# frozen_string_literal: true $LOAD_PATH.unshift File.expand_path('./examples/routeguide') require 'grpc_kit' require 'pry' require 'json' require 'routeguide_services_pb' class Server < Routeguide::RouteGuide::Service RESOURCE_PATH = './examples/routeguide/routeguide.json' def initialize File.open(RESOURCE_PATH) do |f| features = JSON.load(f.read) @features = Hash[features.map { |x| [x['location'], x['name']] }] end end def get_feature(point, _call) name = @features.fetch({ 'longitude' => point.longitude, 'latitude' => point.latitude }, '') Routeguide::Feature.new(location: point, name: name) end end sock = TCPServer.new(50051) server = GrpcKit::Server.new server.handle(Server.new) server.run loop do conn = sock.accept server.session_start(conn) end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
grpc_kit-0.1.0 | examples/routeguide_server.rb |