An open API service providing package, version and dependency metadata of many open source software ecosystems and registries.

Top 2.4% on proxy.golang.org
Top 0.9% dependent packages on proxy.golang.org
Top 1.0% dependent repos on proxy.golang.org
Top 4.8% forks on proxy.golang.org
Top 1.6% docker downloads on proxy.golang.org

proxy.golang.org : github.com/fullstorydev/grpchan

Package grpchan provides an abstraction for a gRPC transport, called a Channel. The channel is more general than the concrete *grpc.ClientConn and *grpc.Server types provided by gRPC. It allows gRPC over alternate substrates and includes sub-packages that provide two such alternatives: in-process and HTTP 1.1. The key type in this package is an alternate implementation of grpc.ServiceRegistrar interface that allows you to accumulate service registrations, for use with an implementation other than *grpc.Server. This repo also includes a deprecated protoc plugin. This is no longer needed now that the standard protoc-gen-go-grpc plugin generates code that uses interfaces: grpc.ClientConnInterface and grpc.ServiceRegistrar. In older versions, the generated code only supported concrete types (*grpc.ClientConn and *grpc.Server) so this repo's protoc plugin would generate alternate code that used interfaces (and thus supported other concrete implementations). Continued use of the plugin is only to continue supporting code that uses the functions generated by it. To use the protoc plugin, you need to first build it and make sure its location is in your PATH. When you invoke protoc, include a --grpchan_out parameter that indicates the same output directory as used for your --go_out parameter. Alongside the *.pb.go files generated, the grpchan plugin will also create *.pb.grpchan.go files. In older versions of the Go plugin (when emitting gRPC code), a server registration function for each RPC service defined in the proto source files was generated that looked like so: The grpchan plugin produces a similarly named method that accepts the ServiceRegistry interface: A new transport can then be implemented by just implementing two interfaces: grpc.ClientConnInterface for the client side and grpchan.ServiceRegistry for the server side. The alternate method also works just fine with *grpc.Server as it implements the ServiceRegistry interface. NOTE: If your have code relying on New<ServiceName>ChannelClient methods that earlier versions of this package produced, they can still be generated by passing a "legacy_stubs" option to the plugin. Example: The client-side implementation of a transport is done with just the two methods in grpc.ClientConnInterface: one for unary RPCs and the other for streaming RPCs. Note that when a unary interceptor is invoked for an RPC on a channel that is *not* a *grpc.ClientConn, the parameter of that type will be nil. Not all client call options will make sense for all transports. This repo chooses to ignore call options that do not apply (as opposed to failing the RPC or panicking). However, several call options are likely important to support: those for accessing header and trailer metadata. The peer, per-RPC credentials, and message size limits are other options that are reasonably straight-forward to apply to other transports. But the other options (dealing with on-the-wire encoding, compression, etc) may not be applicable. The server-side implementation of a transport must be able to invoke method and stream handlers for a given service implementation. This is done by implementing the grpc.ServiceRegistrar interface. When a service is registered, a service description is provided that includes access to method and stream handlers. When the transport receives requests for RPC operations, it in turn invokes these handlers. For streaming operations, it must also supply a grpc.ServerStream implementation, for exchanging messages on the stream. Note that the server stream's context will need a custom implementation of the grpc.ServerTransportStream in it, too. Sadly, this interface is just different enough from grpc.ServerStream that they cannot be implemented by the same type. This is particularly necessary for unary calls since this is how a unary handler indicates what headers and trailers to send back to the client.

Registry - Source - Documentation - JSON - codemeta.json
purl: pkg:golang/github.com/fullstorydev/grpchan
Keywords: golang , grpc
License: MIT
Latest release: over 3 years ago
First release: over 6 years ago
Namespace: github.com/fullstorydev
Dependent packages: 36
Dependent repositories: 33
Stars: 220 on GitHub
Forks: 22 on GitHub
Docker dependents: 6
Docker downloads: 2,678,549
See more repository details: repos.ecosyste.ms
Last synced: 14 days ago

Top 6.8% on proxy.golang.org
github.com/finnley/consul v1.18.2
Consul is a distributed, highly available, and data center aware solution to connect and configur...
264 versions - Latest release: over 1 year ago - 0 stars on GitHub
Top 8.0% on proxy.golang.org
github.com/plgd-dev/client-application v0.11.0
26 versions - Latest release: over 1 year ago - 5 stars on GitHub
Top 9.6% on proxy.golang.org
github.com/EIRNf/notnets_grpc v0.0.0-20240124230250-b2630e540d18
An implementation of go-grpc using the notnets shared memory communication library
3 versions - Latest release: almost 2 years ago - 0 stars on GitHub
go.linka.cloud/protodb v0.0.0-20231029111046-654268e905f5
7 versions - Latest release: about 2 years ago - 0 stars on GitHub
Top 8.2% on proxy.golang.org
github.com/jhump/grpctunnel v0.3.0
Package grpctunnel provides APIs to support tunneling of gRPC services: carrying gRPC calls over ...
5 versions - Latest release: about 2 years ago - 109 stars on GitHub
Top 9.7% on proxy.golang.org
git.sr.ht/~tompinn23/cloak v0.0.0-20230821142635-78c211945a96
1 version - Latest release: about 2 years ago
go.linka.cloud/grpc v0.4.3
16 versions - Latest release: about 2 years ago - 1 dependent package - 1 dependent repositories - 0 stars on GitHub
go.linka.cloud/grpc-toolkit v0.4.3
16 versions - Latest release: about 2 years ago - 2 dependent packages - 1 dependent repositories - 0 stars on GitHub
Top 8.2% on proxy.golang.org
go.linka.cloud/protoc-gen-proxy v0.0.0-20230802234945-cc173b85cf13
2 versions - Latest release: about 2 years ago - 1 dependent package - 0 stars on GitHub
Top 8.2% on proxy.golang.org
github.com/joeycumines/sesame v0.0.0-20230730211250-c7154f002c33
Streaming and IO utilities, gRPC reverse tunnel, TCP-over-gRPC proxy.
2 versions - Latest release: over 2 years ago - 0 stars on GitHub
Top 6.0% on proxy.golang.org
github.com/tigrisdata/tigris v1.0.0-beta.122
Tigris is an Open Source Serverless NoSQL Database and Search Platform.
175 versions - Latest release: over 2 years ago - 683 stars on GitHub
Top 8.2% on proxy.golang.org
github.com/tigrisdata/tigrisdb v1.0.0-beta.122
175 versions - Latest release: over 2 years ago
github.com/fernferret/wab v0.0.0-20230513171220-78f32235698c
1 version - Latest release: over 2 years ago - 1 stars on GitHub
Top 5.9% on proxy.golang.org
github.com/tigrisdata/tigrisdb-client-go v1.0.0
81 versions - Latest release: over 2 years ago - 4 dependent packages
Top 6.5% on proxy.golang.org
github.com/tigrisdata/tigris-client-go v1.0.0
Tigris data-platform Golang client
81 versions - Latest release: over 2 years ago - 18 dependent packages - 19 dependent repositories - 11 stars on GitHub
github.com/snple/rgrpc v0.2.0
Package grpctunnel provides tools to support tunneling of gRPC services: carrying gRPC calls over...
2 versions - Latest release: almost 3 years ago - 1 dependent package - 1 dependent repositories - 0 stars on GitHub
Top 8.2% on proxy.golang.org
github.com/joeycumines/mx51-weather-api v0.1.1
2 versions - Latest release: about 3 years ago - 0 stars on GitHub
Top 8.2% on proxy.golang.org
github.com/1005281342/go-task v0.0.0-20220504080128-67d33efccb69
2 versions - Latest release: over 3 years ago - 2 stars on GitHub
github.com/1005281342/httproxy v0.0.0-20220418052002-4e7e9c9d711e
http服务反向代理
1 version - Latest release: over 3 years ago - 2 dependent packages - 2 dependent repositories - 0 stars on GitHub
Top 8.2% on proxy.golang.org
github.com/1005281342/gozerodemo v0.0.0-20220306140656-78c67baacf71
go-zero demo
10 versions - Latest release: over 3 years ago - 1 stars on GitHub
Top 8.2% on proxy.golang.org
github.com/go-ocf/ocf-cloud v1.1.2
9 versions - Latest release: almost 5 years ago
Top 5.5% on proxy.golang.org
github.com/plgd-dev/hub v1.1.2 💰
Secure and Interoperable Internet of Things
7 versions - Latest release: almost 5 years ago - 1 dependent repositories - 173 stars on GitHub
Top 7.2% on proxy.golang.org
github.com/plgd-dev/cloud v1.1.2
19 versions - Latest release: almost 5 years ago - 1 dependent repositories
Top 7.1% on proxy.golang.org
github.com/go-ocf/cloud v1.1.2
16 versions - Latest release: almost 5 years ago - 1 dependent repositories
Past Dependents
Include Past Dependents

Check this option to include packages that no longer depend on this package in their latest version but previously did.