MCPcopy Index your code
hub / github.com/fullstorydev/grpchan

github.com/fullstorydev/grpchan @v1.1.2

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.1.2 ↗ · + Follow
651 symbols 1,749 edges 37 files 124 documented · 19% 4 cross-repo links updated 5d agov1.1.2 · 2025-11-11★ 2282 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

gRPC Channels

Build Status Go Report Card GoDoc

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.

go install github.com/fullstorydev/grpchan/cmd/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.

//go:generate protoc --go_out=plugins=grpc:. --grpchan_out=. my.proto

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Shape

Method 378
Function 162
Struct 73
Interface 30
TypeAlias 5
FuncType 3

Languages

Go100%

Modules by API surface

cmd/protoc-gen-grpchan/gen_test_grpc_pb_test.go181 symbols
grpchantesting/test_grpc.pb.go67 symbols
inprocgrpc/in_process.go57 symbols
httpgrpc/server.go36 symbols
interceptor_chain_server_test.go25 symbols
interceptor_chain_client_test.go25 symbols
intercept.go23 symbols
intercept_server_test.go21 symbols
httpgrpc/httpgrpc.pb.go21 symbols
httpgrpc/client.go20 symbols
grpchantesting/test.pb.go17 symbols
internal/transport_stream.go16 symbols

For agents

$ claude mcp add grpchan \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page