Skip to content

hokdre/gRPC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pre require

Sebelumnya kita telah mengkompile proto file yang berisi message dengan bantuan plugin "google.golang.org/protobuf/cmd/protoc-gen-go" dan mengkompile file tersebut dengan perintah

protoc -I=. --go_out=<destination dir> --go_opt=paths=source_relative *.proto;

, untuk mengkompile file berisi sebuah service maka dibutuhkan plugin lain yaitu "google.golang.org/grpc/cmd/protoc-gen-go-grpc" dan untuk mengkompile file service dilakukan dengan perintah

protoc -I=. --go-grpc_out=<destination dir> --go-grpc_opt=paths=source_relative *.proto

sehingga apabila file proto kita mendefinisikan message dan service bersamaan maka kita harus menggabungkan ke 2 perintah kompile, sehingga menjadi

protoc -I=. --go_out=<destination dir message> --go_opt=paths=source_relative  --go-grpc_out=<destination dir services> --go-grpc_opt=paths=source_relative *.proto 

summary :
google.golang.org/protobuf/cmd/protoc-gen-go untuk mengkompile message
google.golang.org/grpc/cmd/protoc-gen-go-grpc untuk mengkompile service
--go_out= --go_opt=paths=source_relative konfigurasi message
--go-grpc_out= --go-grpc_opt=paths=source_relative konfigurasi service

Summary Compile

Type Proto Client Server
Unary rpc NamaMethod(Input) (Output) {}; NamaMethod(ctx,*Input, ...) (Output, error) NamaMethod(ctx,*Input, ...) (Output, error)
Server Stream rpc NamaMethod(Input) (stream Output) {}; NamaMethod(ctx, *Input, ...) (StreamClient, error) NamaMethod(*Input, StreamServer) error

What's Stream?

Properties StreamClient StreamServer
Interface Name NamaService_NamaMethodClient NamaService_NamaMethodServer
Signature Recv() (*Output, error) Send(*Ouput) error

Reference

https://github.com/grpc https://github.com/grpc/grpc/blob/master/doc/statuscodes.md

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published