Update ttrpc for containerd repo
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
This commit is contained in:
		| @@ -39,11 +39,11 @@ import ( | ||||
| 	"github.com/containerd/containerd/runtime/linux/proc" | ||||
| 	"github.com/containerd/containerd/runtime/shim" | ||||
| 	shimapi "github.com/containerd/containerd/runtime/shim/v1" | ||||
| 	"github.com/containerd/ttrpc" | ||||
| 	"github.com/containerd/typeurl" | ||||
| 	ptypes "github.com/gogo/protobuf/types" | ||||
| 	"github.com/pkg/errors" | ||||
| 	"github.com/sirupsen/logrus" | ||||
| 	"github.com/stevvooe/ttrpc" | ||||
| 	"golang.org/x/sys/unix" | ||||
| ) | ||||
|  | ||||
|   | ||||
| @@ -24,7 +24,7 @@ import ( | ||||
|  | ||||
| 	"github.com/containerd/containerd/runtime/shim" | ||||
| 	runc "github.com/containerd/go-runc" | ||||
| 	"github.com/stevvooe/ttrpc" | ||||
| 	"github.com/containerd/ttrpc" | ||||
| ) | ||||
|  | ||||
| // setupSignals creates a new signal handler for all signals and sets the shim as a | ||||
|   | ||||
| @@ -22,8 +22,8 @@ import ( | ||||
|  | ||||
| 	"github.com/containerd/containerd/runtime/shim" | ||||
| 	runc "github.com/containerd/go-runc" | ||||
| 	"github.com/containerd/ttrpc" | ||||
| 	"github.com/opencontainers/runc/libcontainer/system" | ||||
| 	"github.com/stevvooe/ttrpc" | ||||
| 	"golang.org/x/sys/unix" | ||||
| ) | ||||
|  | ||||
|   | ||||
| @@ -24,7 +24,7 @@ import ( | ||||
|  | ||||
| 	"github.com/containerd/containerd/runtime/shim" | ||||
| 	runc "github.com/containerd/go-runc" | ||||
| 	"github.com/stevvooe/ttrpc" | ||||
| 	"github.com/containerd/ttrpc" | ||||
| ) | ||||
|  | ||||
| // setupSignals creates a new signal handler for all signals and sets the shim as a | ||||
|   | ||||
| @@ -27,12 +27,12 @@ import ( | ||||
| 	"github.com/containerd/console" | ||||
| 	"github.com/containerd/containerd/cmd/ctr/commands" | ||||
| 	shim "github.com/containerd/containerd/runtime/shim/v1" | ||||
| 	"github.com/containerd/ttrpc" | ||||
| 	"github.com/containerd/typeurl" | ||||
| 	ptypes "github.com/gogo/protobuf/types" | ||||
| 	"github.com/opencontainers/runtime-spec/specs-go" | ||||
| 	"github.com/pkg/errors" | ||||
| 	"github.com/sirupsen/logrus" | ||||
| 	"github.com/stevvooe/ttrpc" | ||||
| 	"github.com/urfave/cli" | ||||
| ) | ||||
|  | ||||
|   | ||||
| @@ -18,10 +18,10 @@ package main | ||||
|  | ||||
| import ( | ||||
| 	_ "github.com/containerd/containerd/protobuf/plugin/fieldpath" | ||||
| 	_ "github.com/containerd/ttrpc/plugin" | ||||
| 	"github.com/gogo/protobuf/protoc-gen-gogo/descriptor" | ||||
| 	"github.com/gogo/protobuf/vanity" | ||||
| 	"github.com/gogo/protobuf/vanity/command" | ||||
| 	_ "github.com/stevvooe/ttrpc/plugin" | ||||
| ) | ||||
|  | ||||
| func main() { | ||||
|   | ||||
| @@ -26,8 +26,8 @@ import ( | ||||
| 	"github.com/containerd/containerd/errdefs" | ||||
| 	"github.com/containerd/containerd/runtime" | ||||
| 	shim "github.com/containerd/containerd/runtime/shim/v1" | ||||
| 	"github.com/containerd/ttrpc" | ||||
| 	"github.com/pkg/errors" | ||||
| 	"github.com/stevvooe/ttrpc" | ||||
| ) | ||||
|  | ||||
| // Process implements a linux process | ||||
|   | ||||
| @@ -32,9 +32,9 @@ import ( | ||||
| 	"github.com/containerd/containerd/runtime/shim/client" | ||||
| 	shim "github.com/containerd/containerd/runtime/shim/v1" | ||||
| 	runc "github.com/containerd/go-runc" | ||||
| 	"github.com/containerd/ttrpc" | ||||
| 	"github.com/gogo/protobuf/types" | ||||
| 	"github.com/pkg/errors" | ||||
| 	"github.com/stevvooe/ttrpc" | ||||
| ) | ||||
|  | ||||
| // Task on a linux based system | ||||
|   | ||||
| @@ -31,9 +31,9 @@ import ( | ||||
|  | ||||
| 	"golang.org/x/sys/unix" | ||||
|  | ||||
| 	"github.com/containerd/ttrpc" | ||||
| 	"github.com/pkg/errors" | ||||
| 	"github.com/sirupsen/logrus" | ||||
| 	"github.com/stevvooe/ttrpc" | ||||
|  | ||||
| 	"github.com/containerd/containerd/events" | ||||
| 	"github.com/containerd/containerd/log" | ||||
|   | ||||
| @@ -50,7 +50,7 @@ import strings "strings" | ||||
| import reflect "reflect" | ||||
|  | ||||
| import context "context" | ||||
| import ttrpc "github.com/stevvooe/ttrpc" | ||||
| import ttrpc "github.com/containerd/ttrpc" | ||||
|  | ||||
| import io "io" | ||||
|  | ||||
|   | ||||
| @@ -37,7 +37,7 @@ github.com/Microsoft/hcsshim v0.6.11 | ||||
| github.com/boltdb/bolt e9cf4fae01b5a8ff89d0ec6b32f0d9c9f79aefdd | ||||
| google.golang.org/genproto d80a6e20e776b0b17a324d0ba1ab50a39c8e8944 | ||||
| golang.org/x/text 19e51611da83d6be54ddafce4a4af510cb3e9ea4 | ||||
| github.com/stevvooe/ttrpc d4528379866b0ce7e9d71f3eb96f0582fc374577 | ||||
| github.com/containerd/ttrpc fa6c68143601db58b3636ee9948aad2fe08ed1ea | ||||
| github.com/syndtr/gocapability db04d3cc01c8b54962a58ec7e491717d06cfcc16 | ||||
| gotest.tools v2.1.0 | ||||
| github.com/google/go-cmp v0.1.0 | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| # ttrpc | ||||
| 
 | ||||
| [](https://travis-ci.org/stevvooe/ttrpc) | ||||
| [](https://travis-ci.org/containerd/ttrpc) | ||||
| 
 | ||||
| GRPC for low-memory environments. | ||||
| 
 | ||||
| @@ -25,7 +25,7 @@ Create a gogo vanity binary (see | ||||
| [`cmd/protoc-gen-gogottrpc/main.go`](cmd/protoc-gen-gogottrpc/main.go) for an | ||||
| example with the ttrpc plugin enabled. | ||||
| 
 | ||||
| It's recommended to use [`protobuild`](https://github.com/stevvooe/protobuild) | ||||
| It's recommended to use [`protobuild`](https://github.com//stevvooe/protobuild) | ||||
| to build the protobufs for this project, but this will work with protoc | ||||
| directly, if required. | ||||
| 
 | ||||
| @@ -1,3 +1,19 @@ | ||||
| /* | ||||
|    Copyright The containerd Authors. | ||||
| 
 | ||||
|    Licensed under the Apache License, Version 2.0 (the "License"); | ||||
|    you may not use this file except in compliance with the License. | ||||
|    You may obtain a copy of the License at | ||||
| 
 | ||||
|        http://www.apache.org/licenses/LICENSE-2.0 | ||||
| 
 | ||||
|    Unless required by applicable law or agreed to in writing, software | ||||
|    distributed under the License is distributed on an "AS IS" BASIS, | ||||
|    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
|    See the License for the specific language governing permissions and | ||||
|    limitations under the License. | ||||
| */ | ||||
| 
 | ||||
| package ttrpc | ||||
| 
 | ||||
| import ( | ||||
| @@ -1,3 +1,19 @@ | ||||
| /* | ||||
|    Copyright The containerd Authors. | ||||
| 
 | ||||
|    Licensed under the Apache License, Version 2.0 (the "License"); | ||||
|    you may not use this file except in compliance with the License. | ||||
|    You may obtain a copy of the License at | ||||
| 
 | ||||
|        http://www.apache.org/licenses/LICENSE-2.0 | ||||
| 
 | ||||
|    Unless required by applicable law or agreed to in writing, software | ||||
|    distributed under the License is distributed on an "AS IS" BASIS, | ||||
|    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
|    See the License for the specific language governing permissions and | ||||
|    limitations under the License. | ||||
| */ | ||||
| 
 | ||||
| package ttrpc | ||||
| 
 | ||||
| import ( | ||||
| @@ -9,9 +25,9 @@ import ( | ||||
| 	"sync" | ||||
| 	"syscall" | ||||
| 
 | ||||
| 	"github.com/containerd/containerd/log" | ||||
| 	"github.com/gogo/protobuf/proto" | ||||
| 	"github.com/pkg/errors" | ||||
| 	"github.com/sirupsen/logrus" | ||||
| 	"google.golang.org/grpc/status" | ||||
| ) | ||||
| 
 | ||||
| @@ -180,7 +196,7 @@ func (c *Client) run() { | ||||
| 		case msg := <-incoming: | ||||
| 			call, ok := waiters[msg.StreamID] | ||||
| 			if !ok { | ||||
| 				log.L.Errorf("ttrpc: received message for unknown channel %v", msg.StreamID) | ||||
| 				logrus.Errorf("ttrpc: received message for unknown channel %v", msg.StreamID) | ||||
| 				continue | ||||
| 			} | ||||
| 
 | ||||
							
								
								
									
										42
									
								
								vendor/github.com/containerd/ttrpc/codec.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								vendor/github.com/containerd/ttrpc/codec.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,42 @@ | ||||
| /* | ||||
|    Copyright The containerd Authors. | ||||
|  | ||||
|    Licensed under the Apache License, Version 2.0 (the "License"); | ||||
|    you may not use this file except in compliance with the License. | ||||
|    You may obtain a copy of the License at | ||||
|  | ||||
|        http://www.apache.org/licenses/LICENSE-2.0 | ||||
|  | ||||
|    Unless required by applicable law or agreed to in writing, software | ||||
|    distributed under the License is distributed on an "AS IS" BASIS, | ||||
|    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
|    See the License for the specific language governing permissions and | ||||
|    limitations under the License. | ||||
| */ | ||||
|  | ||||
| package ttrpc | ||||
|  | ||||
| import ( | ||||
| 	"github.com/gogo/protobuf/proto" | ||||
| 	"github.com/pkg/errors" | ||||
| ) | ||||
|  | ||||
| type codec struct{} | ||||
|  | ||||
| func (c codec) Marshal(msg interface{}) ([]byte, error) { | ||||
| 	switch v := msg.(type) { | ||||
| 	case proto.Message: | ||||
| 		return proto.Marshal(v) | ||||
| 	default: | ||||
| 		return nil, errors.Errorf("ttrpc: cannot marshal unknown type: %T", msg) | ||||
| 	} | ||||
| } | ||||
|  | ||||
| func (c codec) Unmarshal(p []byte, msg interface{}) error { | ||||
| 	switch v := msg.(type) { | ||||
| 	case proto.Message: | ||||
| 		return proto.Unmarshal(p, v) | ||||
| 	default: | ||||
| 		return errors.Errorf("ttrpc: cannot unmarshal into unknown type: %T", msg) | ||||
| 	} | ||||
| } | ||||
							
								
								
									
										39
									
								
								vendor/github.com/containerd/ttrpc/config.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								vendor/github.com/containerd/ttrpc/config.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,39 @@ | ||||
| /* | ||||
|    Copyright The containerd Authors. | ||||
|  | ||||
|    Licensed under the Apache License, Version 2.0 (the "License"); | ||||
|    you may not use this file except in compliance with the License. | ||||
|    You may obtain a copy of the License at | ||||
|  | ||||
|        http://www.apache.org/licenses/LICENSE-2.0 | ||||
|  | ||||
|    Unless required by applicable law or agreed to in writing, software | ||||
|    distributed under the License is distributed on an "AS IS" BASIS, | ||||
|    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
|    See the License for the specific language governing permissions and | ||||
|    limitations under the License. | ||||
| */ | ||||
|  | ||||
| package ttrpc | ||||
|  | ||||
| import "github.com/pkg/errors" | ||||
|  | ||||
| type serverConfig struct { | ||||
| 	handshaker Handshaker | ||||
| } | ||||
|  | ||||
| type ServerOpt func(*serverConfig) error | ||||
|  | ||||
| // WithServerHandshaker can be passed to NewServer to ensure that the | ||||
| // handshaker is called before every connection attempt. | ||||
| // | ||||
| // Only one handshaker is allowed per server. | ||||
| func WithServerHandshaker(handshaker Handshaker) ServerOpt { | ||||
| 	return func(c *serverConfig) error { | ||||
| 		if c.handshaker != nil { | ||||
| 			return errors.New("only one handshaker allowed per server") | ||||
| 		} | ||||
| 		c.handshaker = handshaker | ||||
| 		return nil | ||||
| 	} | ||||
| } | ||||
| @@ -1,3 +1,19 @@ | ||||
| /* | ||||
|    Copyright The containerd Authors. | ||||
| 
 | ||||
|    Licensed under the Apache License, Version 2.0 (the "License"); | ||||
|    you may not use this file except in compliance with the License. | ||||
|    You may obtain a copy of the License at | ||||
| 
 | ||||
|        http://www.apache.org/licenses/LICENSE-2.0 | ||||
| 
 | ||||
|    Unless required by applicable law or agreed to in writing, software | ||||
|    distributed under the License is distributed on an "AS IS" BASIS, | ||||
|    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
|    See the License for the specific language governing permissions and | ||||
|    limitations under the License. | ||||
| */ | ||||
| 
 | ||||
| package ttrpc | ||||
| 
 | ||||
| import ( | ||||
| @@ -1,3 +1,19 @@ | ||||
| /* | ||||
|    Copyright The containerd Authors. | ||||
| 
 | ||||
|    Licensed under the Apache License, Version 2.0 (the "License"); | ||||
|    you may not use this file except in compliance with the License. | ||||
|    You may obtain a copy of the License at | ||||
| 
 | ||||
|        http://www.apache.org/licenses/LICENSE-2.0 | ||||
| 
 | ||||
|    Unless required by applicable law or agreed to in writing, software | ||||
|    distributed under the License is distributed on an "AS IS" BASIS, | ||||
|    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
|    See the License for the specific language governing permissions and | ||||
|    limitations under the License. | ||||
| */ | ||||
| 
 | ||||
| package plugin | ||||
| 
 | ||||
| import ( | ||||
| @@ -32,7 +48,7 @@ func (p *ttrpcGenerator) Generate(file *generator.FileDescriptor) { | ||||
| 	p.PluginImports = generator.NewPluginImports(p.Generator) | ||||
| 	p.contextPkg = p.NewImport("context") | ||||
| 	p.typeurlPkg = p.NewImport("github.com/containerd/typeurl") | ||||
| 	p.ttrpcPkg = p.NewImport("github.com/stevvooe/ttrpc") | ||||
| 	p.ttrpcPkg = p.NewImport("github.com/containerd/ttrpc") | ||||
| 
 | ||||
| 	for _, service := range file.GetService() { | ||||
| 		serviceName := service.GetName() | ||||
| @@ -1,3 +1,19 @@ | ||||
| /* | ||||
|    Copyright The containerd Authors. | ||||
| 
 | ||||
|    Licensed under the Apache License, Version 2.0 (the "License"); | ||||
|    you may not use this file except in compliance with the License. | ||||
|    You may obtain a copy of the License at | ||||
| 
 | ||||
|        http://www.apache.org/licenses/LICENSE-2.0 | ||||
| 
 | ||||
|    Unless required by applicable law or agreed to in writing, software | ||||
|    distributed under the License is distributed on an "AS IS" BASIS, | ||||
|    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
|    See the License for the specific language governing permissions and | ||||
|    limitations under the License. | ||||
| */ | ||||
| 
 | ||||
| package ttrpc | ||||
| 
 | ||||
| import ( | ||||
| @@ -9,8 +25,8 @@ import ( | ||||
| 	"sync/atomic" | ||||
| 	"time" | ||||
| 
 | ||||
| 	"github.com/containerd/containerd/log" | ||||
| 	"github.com/pkg/errors" | ||||
| 	"github.com/sirupsen/logrus" | ||||
| 	"google.golang.org/grpc/codes" | ||||
| 	"google.golang.org/grpc/status" | ||||
| ) | ||||
| @@ -88,7 +104,7 @@ func (s *Server) Serve(l net.Listener) error { | ||||
| 				} | ||||
| 
 | ||||
| 				sleep := time.Duration(rand.Int63n(int64(backoff))) | ||||
| 				log.L.WithError(err).Errorf("ttrpc: failed accept; backoff %v", sleep) | ||||
| 				logrus.WithError(err).Errorf("ttrpc: failed accept; backoff %v", sleep) | ||||
| 				time.Sleep(sleep) | ||||
| 				continue | ||||
| 			} | ||||
| @@ -100,7 +116,7 @@ func (s *Server) Serve(l net.Listener) error { | ||||
| 
 | ||||
| 		approved, handshake, err := handshaker.Handshake(ctx, conn) | ||||
| 		if err != nil { | ||||
| 			log.L.WithError(err).Errorf("ttrpc: refusing connection after handshake") | ||||
| 			logrus.WithError(err).Errorf("ttrpc: refusing connection after handshake") | ||||
| 			conn.Close() | ||||
| 			continue | ||||
| 		} | ||||
| @@ -416,12 +432,12 @@ func (c *serverConn) run(sctx context.Context) { | ||||
| 		case response := <-responses: | ||||
| 			p, err := c.server.codec.Marshal(response.resp) | ||||
| 			if err != nil { | ||||
| 				log.L.WithError(err).Error("failed marshaling response") | ||||
| 				logrus.WithError(err).Error("failed marshaling response") | ||||
| 				return | ||||
| 			} | ||||
| 
 | ||||
| 			if err := ch.send(ctx, response.id, messageTypeResponse, p); err != nil { | ||||
| 				log.L.WithError(err).Error("failed sending message on channel") | ||||
| 				logrus.WithError(err).Error("failed sending message on channel") | ||||
| 				return | ||||
| 			} | ||||
| 
 | ||||
| @@ -432,7 +448,7 @@ func (c *serverConn) run(sctx context.Context) { | ||||
| 			// requests due to a terminal error. | ||||
| 			recvErr = nil // connection is now "closing" | ||||
| 			if err != nil && err != io.EOF { | ||||
| 				log.L.WithError(err).Error("error receiving message") | ||||
| 				logrus.WithError(err).Error("error receiving message") | ||||
| 			} | ||||
| 		case <-shutdown: | ||||
| 			return | ||||
| @@ -1,3 +1,19 @@ | ||||
| /* | ||||
|    Copyright The containerd Authors. | ||||
| 
 | ||||
|    Licensed under the Apache License, Version 2.0 (the "License"); | ||||
|    you may not use this file except in compliance with the License. | ||||
|    You may obtain a copy of the License at | ||||
| 
 | ||||
|        http://www.apache.org/licenses/LICENSE-2.0 | ||||
| 
 | ||||
|    Unless required by applicable law or agreed to in writing, software | ||||
|    distributed under the License is distributed on an "AS IS" BASIS, | ||||
|    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
|    See the License for the specific language governing permissions and | ||||
|    limitations under the License. | ||||
| */ | ||||
| 
 | ||||
| package ttrpc | ||||
| 
 | ||||
| import ( | ||||
							
								
								
									
										16
									
								
								vendor/github.com/stevvooe/ttrpc/types.go → vendor/github.com/containerd/ttrpc/types.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										16
									
								
								vendor/github.com/stevvooe/ttrpc/types.go → vendor/github.com/containerd/ttrpc/types.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,3 +1,19 @@ | ||||
| /* | ||||
|    Copyright The containerd Authors. | ||||
| 
 | ||||
|    Licensed under the Apache License, Version 2.0 (the "License"); | ||||
|    you may not use this file except in compliance with the License. | ||||
|    You may obtain a copy of the License at | ||||
| 
 | ||||
|        http://www.apache.org/licenses/LICENSE-2.0 | ||||
| 
 | ||||
|    Unless required by applicable law or agreed to in writing, software | ||||
|    distributed under the License is distributed on an "AS IS" BASIS, | ||||
|    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
|    See the License for the specific language governing permissions and | ||||
|    limitations under the License. | ||||
| */ | ||||
| 
 | ||||
| package ttrpc | ||||
| 
 | ||||
| import ( | ||||
| @@ -1,3 +1,19 @@ | ||||
| /* | ||||
|    Copyright The containerd Authors. | ||||
| 
 | ||||
|    Licensed under the Apache License, Version 2.0 (the "License"); | ||||
|    you may not use this file except in compliance with the License. | ||||
|    You may obtain a copy of the License at | ||||
| 
 | ||||
|        http://www.apache.org/licenses/LICENSE-2.0 | ||||
| 
 | ||||
|    Unless required by applicable law or agreed to in writing, software | ||||
|    distributed under the License is distributed on an "AS IS" BASIS, | ||||
|    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
|    See the License for the specific language governing permissions and | ||||
|    limitations under the License. | ||||
| */ | ||||
| 
 | ||||
| package ttrpc | ||||
| 
 | ||||
| import ( | ||||
							
								
								
									
										26
									
								
								vendor/github.com/stevvooe/ttrpc/codec.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										26
									
								
								vendor/github.com/stevvooe/ttrpc/codec.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,26 +0,0 @@ | ||||
| package ttrpc | ||||
|  | ||||
| import ( | ||||
| 	"github.com/gogo/protobuf/proto" | ||||
| 	"github.com/pkg/errors" | ||||
| ) | ||||
|  | ||||
| type codec struct{} | ||||
|  | ||||
| func (c codec) Marshal(msg interface{}) ([]byte, error) { | ||||
| 	switch v := msg.(type) { | ||||
| 	case proto.Message: | ||||
| 		return proto.Marshal(v) | ||||
| 	default: | ||||
| 		return nil, errors.Errorf("ttrpc: cannot marshal unknown type: %T", msg) | ||||
| 	} | ||||
| } | ||||
|  | ||||
| func (c codec) Unmarshal(p []byte, msg interface{}) error { | ||||
| 	switch v := msg.(type) { | ||||
| 	case proto.Message: | ||||
| 		return proto.Unmarshal(p, v) | ||||
| 	default: | ||||
| 		return errors.Errorf("ttrpc: cannot unmarshal into unknown type: %T", msg) | ||||
| 	} | ||||
| } | ||||
							
								
								
									
										23
									
								
								vendor/github.com/stevvooe/ttrpc/config.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										23
									
								
								vendor/github.com/stevvooe/ttrpc/config.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,23 +0,0 @@ | ||||
| package ttrpc | ||||
|  | ||||
| import "github.com/pkg/errors" | ||||
|  | ||||
| type serverConfig struct { | ||||
| 	handshaker Handshaker | ||||
| } | ||||
|  | ||||
| type ServerOpt func(*serverConfig) error | ||||
|  | ||||
| // WithServerHandshaker can be passed to NewServer to ensure that the | ||||
| // handshaker is called before every connection attempt. | ||||
| // | ||||
| // Only one handshaker is allowed per server. | ||||
| func WithServerHandshaker(handshaker Handshaker) ServerOpt { | ||||
| 	return func(c *serverConfig) error { | ||||
| 		if c.handshaker != nil { | ||||
| 			return errors.New("only one handshaker allowed per server") | ||||
| 		} | ||||
| 		c.handshaker = handshaker | ||||
| 		return nil | ||||
| 	} | ||||
| } | ||||
		Reference in New Issue
	
	Block a user
	 Michael Crosby
					Michael Crosby