gtsocial-umbx

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

codec.go (1689B)


      1 /*
      2  *
      3  * Copyright 2014 gRPC authors.
      4  *
      5  * Licensed under the Apache License, Version 2.0 (the "License");
      6  * you may not use this file except in compliance with the License.
      7  * You may obtain a copy of the License at
      8  *
      9  *     http://www.apache.org/licenses/LICENSE-2.0
     10  *
     11  * Unless required by applicable law or agreed to in writing, software
     12  * distributed under the License is distributed on an "AS IS" BASIS,
     13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     14  * See the License for the specific language governing permissions and
     15  * limitations under the License.
     16  *
     17  */
     18 
     19 package grpc
     20 
     21 import (
     22 	"google.golang.org/grpc/encoding"
     23 	_ "google.golang.org/grpc/encoding/proto" // to register the Codec for "proto"
     24 )
     25 
     26 // baseCodec contains the functionality of both Codec and encoding.Codec, but
     27 // omits the name/string, which vary between the two and are not needed for
     28 // anything besides the registry in the encoding package.
     29 type baseCodec interface {
     30 	Marshal(v interface{}) ([]byte, error)
     31 	Unmarshal(data []byte, v interface{}) error
     32 }
     33 
     34 var _ baseCodec = Codec(nil)
     35 var _ baseCodec = encoding.Codec(nil)
     36 
     37 // Codec defines the interface gRPC uses to encode and decode messages.
     38 // Note that implementations of this interface must be thread safe;
     39 // a Codec's methods can be called from concurrent goroutines.
     40 //
     41 // Deprecated: use encoding.Codec instead.
     42 type Codec interface {
     43 	// Marshal returns the wire format of v.
     44 	Marshal(v interface{}) ([]byte, error)
     45 	// Unmarshal parses the wire format into v.
     46 	Unmarshal(data []byte, v interface{}) error
     47 	// String returns the name of the Codec implementation.  This is unused by
     48 	// gRPC.
     49 	String() string
     50 }