examples/routeguide_server.rb in griffin-0.1.3 vs examples/routeguide_server.rb in griffin-0.1.4
- old
+ new
@@ -4,57 +4,55 @@
require 'griffin'
require 'pry'
require 'json'
require 'routeguide_services_pb'
-require 'logger'
class Server < Routeguide::RouteGuide::Service
RESOURCE_PATH = './examples/routeguide/routeguide.json'
def initialize
- @logger = Logger.new(STDOUT)
File.open(RESOURCE_PATH) do |f|
features = JSON.parse(f.read)
@features = Hash[features.map { |x| [x['location'], x['name']] }]
end
@route_notes = Hash.new { |h, k| h[k] = [] }
end
def get_feature(point, ctx)
name = @features.fetch({ 'longitude' => point.longitude, 'latitude' => point.latitude }, '')
- @logger.info("Point longitude=#{point.longitude}, latitude=#{point.latitude}, metadata=#{ctx.metadata}")
+ GRPC.logger.info("Point longitude=#{point.longitude}, latitude=#{point.latitude}, metadata=#{ctx.metadata}")
Routeguide::Feature.new(location: point, name: name)
end
def list_features(rect, stream)
- @logger.info('===== list_features =====')
+ GRPC.logger.info('===== list_features =====')
@features.each do |location, name|
if name.nil? || name == '' || !in_range(location, rect)
next
end
pt = Routeguide::Point.new(location)
resp = Routeguide::Feature.new(location: pt, name: name)
- @logger.info(resp)
+ GRPC.logger.info(resp)
stream.send_msg(resp)
end
end
def record_route(stream)
- @logger.info('===== record_route =====')
+ GRPC.logger.info('===== record_route =====')
distance = 0
count = 0
features = 0
start_at = Time.now.to_i
last = nil
loop do
point = stream.recv # XXX: raise StopIteration
- @logger.info(point)
+ GRPC.logger.info(point)
count += 1
name = @features.fetch({ 'longitude' => point.longitude, 'latitude' => point.latitude }, '')
unless name == ''
features += 1
@@ -73,11 +71,11 @@
end
def route_chat(call)
loop do
rn = call.recv
- @logger.info("route_note location=#{rn.location.inspect}, message=#{rn.message}")
+ GRPC.logger.info("route_note location=#{rn.location.inspect}, message=#{rn.message}")
key = "#{rn.location.latitude} #{rn.location.longitude}"
saved_msgs = @route_notes[key]
@route_notes[key] << rn.message
saved_msgs.each do |m|
@@ -114,28 +112,15 @@
top = latitudes.max
(point['longitude'] >= left) && (point['longitude'] <= right) && (point['latitude'] >= bottom) && (point['latitude'] <= top)
end
end
-# require 'griffin/interceptors/server/payload_interceptor'
-require 'griffin/interceptors/server/filtered_payload_interceptor'
-require 'griffin/interceptors/server/logging_interceptor'
-require 'griffin/interceptors/server/x_request_id_interceptor'
-
-interceptors = [
- Griffin::Interceptors::Server::FilteredPayloadInterceptor.new,
- Griffin::Interceptors::Server::LoggingInterceptor.new,
- Griffin::Interceptors::Server::XRequestIdInterceptor.new,
-]
-
Griffin::Server.configure do |c|
c.bind '127.0.0.1'
c.port 50051
c.services Server.new
-
- c.interceptors interceptors
c.workers 2
end
Griffin::Server.run