{"repo":"fullstorydev/grpchan","free":true,"listed":false,"github":"https://github.com/fullstorydev/grpchan","clone":"git clone https://github.com/fullstorydev/grpchan.git","description":"Channels for gRPC: custom transports","language":"Go","stars":229,"topics":["grpc","golang"],"license":"MIT","category":"networking-infra","readme_excerpt":"gRPC Channels This repo provides an abstraction for an RPC connection: the Channel . Implementations of Channel can provide alternate transports -- different from the standard HTTP/2-based transport provided by the google.golang.org/grpc package. This can be useful for providing new transports, such as HTTP 1.1, web sockets, or (significantly) in-process channels for testing. This repo also contains two such alternate transports: an HTTP 1.1 implementation of gRPC (which supports all stream kinds other than full-duplex bidi streams) and an in-process transport (which allows a process to dispatch handlers implemented in the same program without needing serialize and de-serialize messages over the loopback network interface). In order to use channels with your proto-defined gRPC services, you need to use a protoc plugin included in this repo: protoc-gen-grpchan . You use the plugin via a --grpchan out parameter to protoc. Specify the same output directory to this parameter as you supply to --go out . The plugin will then generate .pb.grpchan.go files, alongside the .pb.go files. These additional files contain additional methods that let you use the proto-defined service methods with alternate transports.","default_branch":null,"files":null,"tree":[],"storefront":"/r/fullstorydev","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/fullstorydev/grpchan/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}