grpc_server_template 0.1.2 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/grpc_server_template/cli.rb +13 -5
- data/lib/grpc_server_template/client.rb +19 -0
- data/lib/grpc_server_template/handler.rb +14 -0
- data/lib/grpc_server_template/messages.rb +23 -0
- data/lib/grpc_server_template/server.rb +18 -0
- data/lib/grpc_server_template/service.rb +21 -0
- data/lib/grpc_server_template/version.rb +1 -1
- data/lib/grpc_server_template.rb +0 -1
- data/protos/grpc_server_template.proto +16 -0
- metadata +8 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3df25ea41a90a8d164a5872c098f3acb11fc65690f7be9461222edff4a4db3fa
|
4
|
+
data.tar.gz: '09a260195ac6ef6ce251f965b6699346818144977068e882f4f336130d1fd9ed'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 46a8d80f28606961a44e67f17d23d3b588369589513f231f84d302593d059778b662d962e2615b5bdb84eeca6657c3dd1934ab16b0ca5a14c3e0c21372f97cf0
|
7
|
+
data.tar.gz: 9814af0813578012ae0084ada32ce498b0658e73218d35e8284808a10ab5cd88e23e2ad9f66b34b60f6529d5c7c2200dcb61e4e19eb8122fef0fd3ea5bde9c6e
|
data/Gemfile.lock
CHANGED
@@ -1,15 +1,23 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require "thor"
|
4
|
-
require "fileutils"
|
5
|
-
require "erb"
|
6
4
|
|
7
5
|
module GrpcServerTemplate
|
8
6
|
# Cli class
|
9
7
|
class Cli < Thor
|
10
|
-
desc "
|
11
|
-
def
|
12
|
-
system("
|
8
|
+
desc "build", "Build gRPC from proto file"
|
9
|
+
def build
|
10
|
+
system("bin/build")
|
11
|
+
end
|
12
|
+
|
13
|
+
desc "client", "runs the client"
|
14
|
+
def client
|
15
|
+
system("bin/client")
|
16
|
+
end
|
17
|
+
|
18
|
+
desc "server", "runs the server"
|
19
|
+
def server
|
20
|
+
system("bin/server")
|
13
21
|
end
|
14
22
|
end
|
15
23
|
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'messages'
|
4
|
+
require_relative 'service'
|
5
|
+
|
6
|
+
module GrpcServerTemplate
|
7
|
+
# Client
|
8
|
+
class Client
|
9
|
+
class << self
|
10
|
+
def say_hello(name: "server")
|
11
|
+
stub = GrpcServerTemplate::Stub.new('0.0.0.0:50052', :this_channel_is_insecure)
|
12
|
+
req = GrpcServerTemplate::Messages::HelloRequest.new(name: name)
|
13
|
+
resp_obj = stub.say_hello(req)
|
14
|
+
puts "Response: #{resp_obj}"
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'messages'
|
4
|
+
require_relative 'service'
|
5
|
+
|
6
|
+
module GrpcServerTemplate
|
7
|
+
# Handler
|
8
|
+
class Handler < GrpcServerTemplate::Service
|
9
|
+
def say_hello(hello_req, _unused_call)
|
10
|
+
puts "Request: #{hello_req}"
|
11
|
+
GrpcServerTemplate::Messages::HelloReply.new(message: "Hello #{hello_req.name}")
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
2
|
+
# source: grpc_server_template.proto
|
3
|
+
|
4
|
+
require 'google/protobuf'
|
5
|
+
|
6
|
+
Google::Protobuf::DescriptorPool.generated_pool.build do
|
7
|
+
add_file("grpc_server_template.proto", :syntax => :proto3) do
|
8
|
+
add_message "HelloRequest" do
|
9
|
+
optional :name, :string, 1
|
10
|
+
end
|
11
|
+
add_message "HelloReply" do
|
12
|
+
optional :message, :string, 1
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
module GrpcServerTemplate
|
18
|
+
# Messages
|
19
|
+
class Messages
|
20
|
+
HelloRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("HelloRequest").msgclass
|
21
|
+
HelloReply = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("HelloReply").msgclass
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'handler'
|
4
|
+
|
5
|
+
module GrpcServerTemplate
|
6
|
+
# Server
|
7
|
+
class Server
|
8
|
+
class << self
|
9
|
+
def start(port: 50052)
|
10
|
+
@server = GRPC::RpcServer.new
|
11
|
+
@server.add_http2_port("0.0.0.0:#{port}", :this_port_is_insecure)
|
12
|
+
@server.handle(GrpcServerTemplate::Handler)
|
13
|
+
@server.run_till_terminated
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
2
|
+
# Source: grpc_server_template.proto for package ''
|
3
|
+
|
4
|
+
require 'grpc'
|
5
|
+
require_relative 'messages'
|
6
|
+
|
7
|
+
module GrpcServerTemplate
|
8
|
+
# The greeting service definition.
|
9
|
+
class Service
|
10
|
+
|
11
|
+
include ::GRPC::GenericService
|
12
|
+
|
13
|
+
self.marshal_class_method = :encode
|
14
|
+
self.unmarshal_class_method = :decode
|
15
|
+
self.service_name = 'GrpcServerTemplate'
|
16
|
+
|
17
|
+
rpc :SayHello, GrpcServerTemplate::Messages::HelloRequest, GrpcServerTemplate::Messages::HelloReply
|
18
|
+
end
|
19
|
+
|
20
|
+
Stub = Service.rpc_stub_class
|
21
|
+
end
|
data/lib/grpc_server_template.rb
CHANGED
@@ -0,0 +1,16 @@
|
|
1
|
+
syntax = "proto3";
|
2
|
+
|
3
|
+
// The greeting service definition.
|
4
|
+
service GrpcServerTemplate {
|
5
|
+
rpc SayHello (HelloRequest) returns (HelloReply) {}
|
6
|
+
}
|
7
|
+
|
8
|
+
// The request message containing the user's name.
|
9
|
+
message HelloRequest {
|
10
|
+
string name = 1;
|
11
|
+
}
|
12
|
+
|
13
|
+
// The response message containing the greetings
|
14
|
+
message HelloReply {
|
15
|
+
string message = 1;
|
16
|
+
}
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: grpc_server_template
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sylvance
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-01-
|
11
|
+
date: 2023-01-16 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: A template for the ruby grpc server.
|
14
14
|
email:
|
@@ -30,7 +30,13 @@ files:
|
|
30
30
|
- grpc_server_template.gemspec
|
31
31
|
- lib/grpc_server_template.rb
|
32
32
|
- lib/grpc_server_template/cli.rb
|
33
|
+
- lib/grpc_server_template/client.rb
|
34
|
+
- lib/grpc_server_template/handler.rb
|
35
|
+
- lib/grpc_server_template/messages.rb
|
36
|
+
- lib/grpc_server_template/server.rb
|
37
|
+
- lib/grpc_server_template/service.rb
|
33
38
|
- lib/grpc_server_template/version.rb
|
39
|
+
- protos/grpc_server_template.proto
|
34
40
|
- sig/grpc_server_template.rbs
|
35
41
|
homepage: https://github.com/Sylvance/grpc_server_template/blob/main/README.md
|
36
42
|
licenses: []
|