Source File
call.go
Belonging Package
google.golang.org/grpc
/*
*
* Copyright 2014 gRPC 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 grpc
import (
)
// Invoke sends the RPC request on the wire and returns after response is
// received. This is typically called by generated code.
//
// All errors returned by Invoke are compatible with the status package.
func ( *ClientConn) ( context.Context, string, , interface{}, ...CallOption) error {
// allow interceptor to see all applicable call options, which means those
// configured as defaults from dial option as well as per-call options
= combine(.dopts.callOptions, )
if .dopts.unaryInt != nil {
return .dopts.unaryInt(, , , , , invoke, ...)
}
return invoke(, , , , , ...)
}
func ( []CallOption, []CallOption) []CallOption {
// we don't use append because o1 could have extra capacity whose
// elements would be overwritten, which could cause inadvertent
// sharing (and race conditions) between concurrent calls
if len() == 0 {
return
} else if len() == 0 {
return
}
:= make([]CallOption, len()+len())
copy(, )
copy([len():], )
return
}
// Invoke sends the RPC request on the wire and returns after response is
// received. This is typically called by generated code.
//
// DEPRECATED: Use ClientConn.Invoke instead.
func ( context.Context, string, , interface{}, *ClientConn, ...CallOption) error {
return .Invoke(, , , , ...)
}
var unaryStreamDesc = &StreamDesc{ServerStreams: false, ClientStreams: false}
func ( context.Context, string, , interface{}, *ClientConn, ...CallOption) error {
, := newClientStream(, unaryStreamDesc, , , ...)
if != nil {
return
}
if := .SendMsg(); != nil {
return
}
return .RecvMsg()
}
The pages are generated with Golds v0.4.9. (GOOS=linux GOARCH=amd64)