Sha256: f7167d9ab333c0460d40da80e4c6ead68dcc029aa3c8a95668bbd51e254c2e79

Contents?: true

Size: 858 Bytes

Versions: 5

Compression:

Stored size: 858 Bytes

Contents

#!/usr/bin/env ruby

require 'grpc'
require 'rubygems'
require 'route_guide'

class DirectionsService < RouteGuide::DirectionsService::Service
  def direct_it(direction_req, _unused_call)
    puts "Received direction request for #{direction_req}"
    # build response from object
    RouteGuide::DirectionsResponse.new(
      directions: 'response',
      approximate_time_of_travel_in_hrs: 4,
      approximate_distance_in_kms: 30
    )
  end
end

class RouteGuideServer
  class << self
    def start
      start_grpc_server
    end

    private

    def start_grpc_server
      # create server
      @server = GRPC::RpcServer.new
      @server.add_http2_port("0.0.0.0:50052", :this_port_is_insecure)
      # assign server to a grpc handler
      @server.handle(DirectionsService)
      @server.run_till_terminated
    end
  end
end

RouteGuideServer.start

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
route_guide-0.1.9 examples/server.rb
route_guide-0.1.8 examples/server.rb
route_guide-0.1.7 examples/server.rb
route_guide-0.1.6 examples/server.rb
route_guide-0.1.5 examples/server.rb