mirror of https://github.com/grpc/grpc.git
commit
09b1ec8ccb
196 changed files with 5243 additions and 1022 deletions
@ -0,0 +1,118 @@ |
||||
## **gRPC Compression** |
||||
|
||||
The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", |
||||
"SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be |
||||
interpreted as described in [RFC 2119](http://www.ietf.org/rfc/rfc2119.txt). |
||||
|
||||
### Intent |
||||
|
||||
Compression is used to reduce the amount of bandwidth used between peers. The |
||||
compression supported by gRPC acts _at the individual message level_, taking |
||||
_message_ [as defined in the wire format |
||||
document](PROTOCOL-HTTP2.md). |
||||
|
||||
The implementation supports different compression algorithms. A _default |
||||
compression level_, to be used in the absence of message-specific settings, MAY |
||||
be specified for during channel creation. |
||||
|
||||
The ability to control compression settings per call and to enable/disable |
||||
compression on a per message basis MAY be used to prevent CRIME/BEAST attacks. |
||||
It also allows for asymmetric compression communication, whereby a response MAY |
||||
be compressed differently, if at all. |
||||
|
||||
### Specification |
||||
|
||||
Compression MAY be configured by the Client Application by calling the |
||||
appropriate API method. There are two scenarios where compression MAY be |
||||
configured: |
||||
|
||||
+ At channel creation time, which sets the channel default compression and |
||||
therefore the compression that SHALL be used in the absence of per-RPC |
||||
compression configuration. |
||||
+ At response time, via: |
||||
+ For unary RPCs, the {Client,Server}Context instance. |
||||
+ For streaming RPCs, the {Client,Server}Writer instance. In this case, |
||||
configuration is reduced to disabling compression altogether. |
||||
|
||||
### Compression Method Asymmetry Between Peers |
||||
|
||||
A gRPC peer MAY choose to respond using a different compression method to that |
||||
of the request, including not performing any compression, regardless of channel |
||||
and RPC settings (for example, if compression would result in small or negative |
||||
gains). |
||||
|
||||
When a message from a client compressed with an unsupported algorithm is |
||||
processed by a server, it WILL result in an `UNIMPLEMENTED` error status on the |
||||
server. The server will then include in its response a `grpc-accept-encoding` |
||||
header specifying the algorithms it does accept. If an `UNIMPLEMENTED` error |
||||
status is returned from the server despite having used one of the algorithms |
||||
from the `grpc-accept-encoding` header, the cause MUST NOT be related to |
||||
compression. Data sent from a server compressed with an algorithm not supported |
||||
by the client WILL result in an `INTERNAL` error status on the client side. |
||||
|
||||
Note that a peer MAY choose to not disclose all the encodings it supports. |
||||
However, if it receives a message compressed in an undisclosed but supported |
||||
encoding, it MUST include said encoding in the response's `grpc-accept-encoding |
||||
h`eader. |
||||
|
||||
For every message a server is requested to compress using an algorithm it knows |
||||
the client doesn't support (as indicated by the last `grpc-accept-encoding` |
||||
header received from the client), it SHALL send the message uncompressed. |
||||
|
||||
### Specific Disabling of Compression |
||||
|
||||
If the user (through the previously described mechanisms) requests to disable |
||||
compression the next message MUST be sent uncompressed. This is instrumental in |
||||
preventing BEAST/CRIME attacks. This applies to both the the unary and streaming |
||||
cases. |
||||
|
||||
### Compression Levels and Algorithms |
||||
|
||||
The set of supported algorithm is implementation dependent. In order to simplify |
||||
the public API and to operate seamlessly across implementations (both in terms |
||||
of languages but also different version of the same one), we introduce the idea |
||||
of _compression levels_ (such as "low", "medium", "high"). |
||||
|
||||
Levels map to concrete algorithms and/or their settings (such as "low" mapping |
||||
to "gzip -3" and "high" mapping to "gzip -9") automatically depending on what a |
||||
peer is known to support. A server is always aware of what its clients support, |
||||
as clients disclose it in their Message-Accept-Encoding header as part of their |
||||
initial call. A client doesn't a priori (presently) know which algorithms a |
||||
server supports. This issue can be addressed with an initial negotiation of |
||||
capabilities or an automatic retry mechanism. These features will be implemented |
||||
in the future. Currently however, compression levels are only supported at the |
||||
server side, which is aware of the client's capabilities through the incoming |
||||
Message-Accept-Encoding header. |
||||
|
||||
### Propagation to child RPCs |
||||
|
||||
The inheritance of the compression configuration by child RPCs is left up to the |
||||
implementation. Note that in the absence of changes to the parent channel, its |
||||
configuration will be used. |
||||
|
||||
### Test cases |
||||
|
||||
1. When a compression level is not specified for either the channel or the |
||||
message, the default channel level _none_ is considered: data MUST NOT be |
||||
compressed. |
||||
1. When per-RPC compression configuration isn't present for a message, the |
||||
channel compression configuration MUST be used. |
||||
1. When a compression method (including no compression) is specified for an |
||||
outgoing message, the message MUST be compressed accordingly. |
||||
1. A message compressed by a client in a way not supported by its server MUST |
||||
fail with status `UNIMPLEMENTED`, its associated description indicating the |
||||
unsupported condition as well as the supported ones. The returned |
||||
`grpc-accept-encoding` header MUST NOT contain the compression method |
||||
(encoding) used. |
||||
1. A message compressed by a server in a way not supported by its client MUST |
||||
fail with status `INTERNAL`, its associated description indicating the |
||||
unsupported condition as well as the supported ones. The returned |
||||
`grpc-accept-encoding` header MUST NOT contain the compression method |
||||
(encoding) used. |
||||
1. An ill-constructed message with its [Compressed-Flag |
||||
bit](PROTOCOL-HTTP2.md#compressed-flag) |
||||
set but lacking a |
||||
"[grpc-encoding](PROTOCOL-HTTP2.md#message-encoding)" |
||||
entry different from _identity_ in its metadata MUST fail with `INTERNAL` |
||||
status, its associated description indicating the invalid Compressed-Flag |
||||
condition. |
@ -0,0 +1,8 @@ |
||||
{ |
||||
"frameworks": { |
||||
"net45": { } |
||||
}, |
||||
"runtimes": { |
||||
"win": { } |
||||
} |
||||
} |
@ -0,0 +1,32 @@ |
||||
{ |
||||
"version": "0.15.0-dev", |
||||
"title": "gRPC C# Auth", |
||||
"authors": [ "Google Inc." ], |
||||
"copyright": "Copyright 2015, Google Inc.", |
||||
"packOptions": { |
||||
"summary": "Auth library for C# implementation of gRPC - an RPC library and framework", |
||||
"description": "Auth library for C# implementation of gRPC - an RPC library and framework. See project site for more info.", |
||||
"owners": [ "grpc-packages" ], |
||||
"licenseUrl": "https://github.com/grpc/grpc/blob/master/LICENSE", |
||||
"projectUrl": "https://github.com/grpc/grpc", |
||||
"requireLicenseAcceptance": false, |
||||
"tags": [ "gRPC RPC Protocol HTTP/2 Auth OAuth2" ], |
||||
}, |
||||
"dependencies": { |
||||
"Grpc.Core": "0.15.0-dev", |
||||
"Google.Apis.Auth": "1.11.1" |
||||
}, |
||||
"frameworks": { |
||||
"net45": { }, |
||||
"netstandard1.5": { |
||||
"imports": [ |
||||
"net45" |
||||
], |
||||
"dependencies": { |
||||
"Microsoft.NETCore.Portable.Compatibility": "1.0.1-rc2-24027", |
||||
"NETStandard.Library": "1.5.0-rc2-24027", |
||||
"System.Threading.Tasks": "4.0.11-rc2-24027" |
||||
} |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,8 @@ |
||||
{ |
||||
"frameworks": { |
||||
"net45": { } |
||||
}, |
||||
"runtimes": { |
||||
"win": { } |
||||
} |
||||
} |
@ -0,0 +1,56 @@ |
||||
{ |
||||
"buildOptions": { |
||||
"emitEntryPoint": true |
||||
}, |
||||
"configurations": { |
||||
"Debug": { |
||||
"buildOptions": { |
||||
"copyToOutput": { |
||||
"mappings": { |
||||
"nativelibs/windows_x64/grpc_csharp_ext.dll": "../../../vsprojects/x64/Debug/grpc_csharp_ext.dll", |
||||
"nativelibs/windows_x86/grpc_csharp_ext.dll": "../../../vsprojects/Debug/grpc_csharp_ext.dll", |
||||
"nativelibs/linux_x64/libgrpc_csharp_ext.so": "../../../libs/dbg/libgrpc_csharp_ext.so", |
||||
"nativelibs/macosx_x64/libgrpc_csharp_ext.dylib": "../../../libs/dbg/libgrpc_csharp_ext.dylib" |
||||
} |
||||
} |
||||
} |
||||
}, |
||||
"Release": { |
||||
"buildOptions": { |
||||
"copyToOutput": { |
||||
"mappings": { |
||||
"nativelibs/windows_x64/grpc_csharp_ext.dll": "../../../vsprojects/x64/Release/grpc_csharp_ext.dll", |
||||
"nativelibs/windows_x86/grpc_csharp_ext.dll": "../../../vsprojects/Release/grpc_csharp_ext.dll", |
||||
"nativelibs/linux_x64/libgrpc_csharp_ext.so": "../../../libs/opt/libgrpc_csharp_ext.so", |
||||
"nativelibs/macosx_x64/libgrpc_csharp_ext.dylib": "../../../libs/opt/libgrpc_csharp_ext.dylib" |
||||
} |
||||
} |
||||
} |
||||
} |
||||
}, |
||||
"runtimes": { |
||||
"win7-x64": { }, |
||||
"debian.8-x64": { }, |
||||
"osx.10.11-x64": { } |
||||
}, |
||||
|
||||
"dependencies": { |
||||
"Grpc.Core": { |
||||
"target": "project" |
||||
}, |
||||
"Newtonsoft.Json": "8.0.3", |
||||
"NUnit": "3.2.0", |
||||
"NUnitLite": "3.2.0-*" |
||||
}, |
||||
"frameworks": { |
||||
"net45": { }, |
||||
"netstandard1.5": { |
||||
"imports": [ |
||||
"portable-net45" |
||||
], |
||||
"dependencies": { |
||||
"NETStandard.Library": "1.5.0-rc2-24027" |
||||
} |
||||
} |
||||
}, |
||||
} |
@ -0,0 +1,8 @@ |
||||
{ |
||||
"frameworks": { |
||||
"net45": { } |
||||
}, |
||||
"runtimes": { |
||||
"win": { } |
||||
} |
||||
} |
@ -0,0 +1,42 @@ |
||||
{ |
||||
"version": "0.15.0-dev", |
||||
"title": "gRPC C# Core", |
||||
"authors": [ "Google Inc." ], |
||||
"copyright": "Copyright 2015, Google Inc.", |
||||
"packOptions": { |
||||
"summary": "Core C# implementation of gRPC - an RPC library and framework", |
||||
"description": "Core C# implementation of gRPC - an RPC library and framework. See project site for more info.", |
||||
"owners": [ "grpc-packages" ], |
||||
"licenseUrl": "https://github.com/grpc/grpc/blob/master/LICENSE", |
||||
"projectUrl": "https://github.com/grpc/grpc", |
||||
"requireLicenseAcceptance": false, |
||||
"tags": [ "gRPC RPC Protocol HTTP/2" ], |
||||
"files": { |
||||
"build/net45/": "Grpc.Core.targets", |
||||
"build/native/bin/windows_x86/": "../nativelibs/windows_x86/grpc_csharp_ext.dll", |
||||
"build/native/bin/windows_x64/": "../nativelibs/windows_x64/grpc_csharp_ext.dll", |
||||
"build/native/bin/linux_x86/": "../nativelibs/linux_x86/libgrpc_csharp_ext.so", |
||||
"build/native/bin/linux_x64/": "../nativelibs/linux_x64/libgrpc_csharp_ext.so", |
||||
"build/native/bin/macosx_x86/": "../nativelibs/macosx_x86/libgrpc_csharp_ext.dylib", |
||||
"build/native/bin/macosx_x64/": "../nativelibs/macosx_x64/libgrpc_csharp_ext.dylib" |
||||
} |
||||
}, |
||||
"buildOptions": { |
||||
"embed": [ "../../../etc/roots.pem" ] |
||||
}, |
||||
"dependencies": { |
||||
"Ix-Async": "1.2.5" |
||||
}, |
||||
"frameworks": { |
||||
"net45": { }, |
||||
"netstandard1.5": { |
||||
"imports": [ |
||||
"portable-net45" |
||||
], |
||||
"dependencies": { |
||||
"NETStandard.Library": "1.5.0-rc2-24027", |
||||
"System.Threading.Thread": "4.0.0-rc2-24027" |
||||
} |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,8 @@ |
||||
{ |
||||
"frameworks": { |
||||
"net45": { } |
||||
}, |
||||
"runtimes": { |
||||
"win": { } |
||||
} |
||||
} |
@ -0,0 +1,53 @@ |
||||
{ |
||||
"buildOptions": { |
||||
"emitEntryPoint": true |
||||
}, |
||||
"configurations": { |
||||
"Debug": { |
||||
"buildOptions": { |
||||
"copyToOutput": { |
||||
"mappings": { |
||||
"nativelibs/windows_x64/grpc_csharp_ext.dll": "../../../vsprojects/x64/Debug/grpc_csharp_ext.dll", |
||||
"nativelibs/windows_x86/grpc_csharp_ext.dll": "../../../vsprojects/Debug/grpc_csharp_ext.dll", |
||||
"nativelibs/linux_x64/libgrpc_csharp_ext.so": "../../../libs/dbg/libgrpc_csharp_ext.so", |
||||
"nativelibs/macosx_x64/libgrpc_csharp_ext.dylib": "../../../libs/dbg/libgrpc_csharp_ext.dylib" |
||||
} |
||||
} |
||||
} |
||||
}, |
||||
"Release": { |
||||
"buildOptions": { |
||||
"copyToOutput": { |
||||
"mappings": { |
||||
"nativelibs/windows_x64/grpc_csharp_ext.dll": "../../../vsprojects/x64/Release/grpc_csharp_ext.dll", |
||||
"nativelibs/windows_x86/grpc_csharp_ext.dll": "../../../vsprojects/Release/grpc_csharp_ext.dll", |
||||
"nativelibs/linux_x64/libgrpc_csharp_ext.so": "../../../libs/opt/libgrpc_csharp_ext.so", |
||||
"nativelibs/macosx_x64/libgrpc_csharp_ext.dylib": "../../../libs/opt/libgrpc_csharp_ext.dylib" |
||||
} |
||||
} |
||||
} |
||||
} |
||||
}, |
||||
"runtimes": { |
||||
"win7-x64": { }, |
||||
"debian.8-x64": { }, |
||||
"osx.10.11-x64": { } |
||||
}, |
||||
|
||||
"dependencies": { |
||||
"Grpc.Examples": { |
||||
"target": "project" |
||||
} |
||||
}, |
||||
"frameworks": { |
||||
"net45": { }, |
||||
"netstandard1.5": { |
||||
"imports": [ |
||||
"portable-net45" |
||||
], |
||||
"dependencies": { |
||||
"NETStandard.Library": "1.5.0-rc2-24027" |
||||
} |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,8 @@ |
||||
{ |
||||
"frameworks": { |
||||
"net45": { } |
||||
}, |
||||
"runtimes": { |
||||
"win": { } |
||||
} |
||||
} |
@ -0,0 +1,53 @@ |
||||
{ |
||||
"buildOptions": { |
||||
"emitEntryPoint": true |
||||
}, |
||||
"configurations": { |
||||
"Debug": { |
||||
"buildOptions": { |
||||
"copyToOutput": { |
||||
"mappings": { |
||||
"nativelibs/windows_x64/grpc_csharp_ext.dll": "../../../vsprojects/x64/Debug/grpc_csharp_ext.dll", |
||||
"nativelibs/windows_x86/grpc_csharp_ext.dll": "../../../vsprojects/Debug/grpc_csharp_ext.dll", |
||||
"nativelibs/linux_x64/libgrpc_csharp_ext.so": "../../../libs/dbg/libgrpc_csharp_ext.so", |
||||
"nativelibs/macosx_x64/libgrpc_csharp_ext.dylib": "../../../libs/dbg/libgrpc_csharp_ext.dylib" |
||||
} |
||||
} |
||||
} |
||||
}, |
||||
"Release": { |
||||
"buildOptions": { |
||||
"copyToOutput": { |
||||
"mappings": { |
||||
"nativelibs/windows_x64/grpc_csharp_ext.dll": "../../../vsprojects/x64/Release/grpc_csharp_ext.dll", |
||||
"nativelibs/windows_x86/grpc_csharp_ext.dll": "../../../vsprojects/Release/grpc_csharp_ext.dll", |
||||
"nativelibs/linux_x64/libgrpc_csharp_ext.so": "../../../libs/opt/libgrpc_csharp_ext.so", |
||||
"nativelibs/macosx_x64/libgrpc_csharp_ext.dylib": "../../../libs/opt/libgrpc_csharp_ext.dylib" |
||||
} |
||||
} |
||||
} |
||||
} |
||||
}, |
||||
"runtimes": { |
||||
"win7-x64": { }, |
||||
"debian.8-x64": { }, |
||||
"osx.10.11-x64": { } |
||||
}, |
||||
|
||||
"dependencies": { |
||||
"Grpc.Examples": { |
||||
"target": "project" |
||||
} |
||||
}, |
||||
"frameworks": { |
||||
"net45": { }, |
||||
"netstandard1.5": { |
||||
"imports": [ |
||||
"portable-net45" |
||||
], |
||||
"dependencies": { |
||||
"NETStandard.Library": "1.5.0-rc2-24027" |
||||
} |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,8 @@ |
||||
{ |
||||
"frameworks": { |
||||
"net45": { } |
||||
}, |
||||
"runtimes": { |
||||
"win": { } |
||||
} |
||||
} |
@ -0,0 +1,55 @@ |
||||
{ |
||||
"buildOptions": { |
||||
"emitEntryPoint": true |
||||
}, |
||||
"configurations": { |
||||
"Debug": { |
||||
"buildOptions": { |
||||
"copyToOutput": { |
||||
"mappings": { |
||||
"nativelibs/windows_x64/grpc_csharp_ext.dll": "../../../vsprojects/x64/Debug/grpc_csharp_ext.dll", |
||||
"nativelibs/windows_x86/grpc_csharp_ext.dll": "../../../vsprojects/Debug/grpc_csharp_ext.dll", |
||||
"nativelibs/linux_x64/libgrpc_csharp_ext.so": "../../../libs/dbg/libgrpc_csharp_ext.so", |
||||
"nativelibs/macosx_x64/libgrpc_csharp_ext.dylib": "../../../libs/dbg/libgrpc_csharp_ext.dylib" |
||||
} |
||||
} |
||||
} |
||||
}, |
||||
"Release": { |
||||
"buildOptions": { |
||||
"copyToOutput": { |
||||
"mappings": { |
||||
"nativelibs/windows_x64/grpc_csharp_ext.dll": "../../../vsprojects/x64/Release/grpc_csharp_ext.dll", |
||||
"nativelibs/windows_x86/grpc_csharp_ext.dll": "../../../vsprojects/Release/grpc_csharp_ext.dll", |
||||
"nativelibs/linux_x64/libgrpc_csharp_ext.so": "../../../libs/opt/libgrpc_csharp_ext.so", |
||||
"nativelibs/macosx_x64/libgrpc_csharp_ext.dylib": "../../../libs/opt/libgrpc_csharp_ext.dylib" |
||||
} |
||||
} |
||||
} |
||||
} |
||||
}, |
||||
"runtimes": { |
||||
"win7-x64": { }, |
||||
"debian.8-x64": { }, |
||||
"osx.10.11-x64": { } |
||||
}, |
||||
|
||||
"dependencies": { |
||||
"Grpc.Examples": { |
||||
"target": "project" |
||||
}, |
||||
"NUnit": "3.2.0", |
||||
"NUnitLite": "3.2.0-*" |
||||
}, |
||||
"frameworks": { |
||||
"net45": { }, |
||||
"netstandard1.5": { |
||||
"imports": [ |
||||
"portable-net45" |
||||
], |
||||
"dependencies": { |
||||
"NETStandard.Library": "1.5.0-rc2-24027" |
||||
} |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,8 @@ |
||||
{ |
||||
"frameworks": { |
||||
"net45": { } |
||||
}, |
||||
"runtimes": { |
||||
"win": { } |
||||
} |
||||
} |
@ -0,0 +1,27 @@ |
||||
{ |
||||
"buildOptions": { |
||||
}, |
||||
|
||||
"dependencies": { |
||||
"Grpc.Core": { |
||||
"target": "project" |
||||
}, |
||||
"Google.Protobuf": "3.0.0-beta3" |
||||
}, |
||||
"frameworks": { |
||||
"net45": { |
||||
"frameworkAssemblies": { |
||||
"System.Runtime": "", |
||||
"System.IO": "" |
||||
} |
||||
}, |
||||
"netstandard1.5": { |
||||
"imports": [ |
||||
"portable-net45" |
||||
], |
||||
"dependencies": { |
||||
"NETStandard.Library": "1.5.0-rc2-24027" |
||||
} |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,8 @@ |
||||
{ |
||||
"frameworks": { |
||||
"net45": { } |
||||
}, |
||||
"runtimes": { |
||||
"win": { } |
||||
} |
||||
} |
@ -0,0 +1,55 @@ |
||||
{ |
||||
"buildOptions": { |
||||
"emitEntryPoint": true |
||||
}, |
||||
"configurations": { |
||||
"Debug": { |
||||
"buildOptions": { |
||||
"copyToOutput": { |
||||
"mappings": { |
||||
"nativelibs/windows_x64/grpc_csharp_ext.dll": "../../../vsprojects/x64/Debug/grpc_csharp_ext.dll", |
||||
"nativelibs/windows_x86/grpc_csharp_ext.dll": "../../../vsprojects/Debug/grpc_csharp_ext.dll", |
||||
"nativelibs/linux_x64/libgrpc_csharp_ext.so": "../../../libs/dbg/libgrpc_csharp_ext.so", |
||||
"nativelibs/macosx_x64/libgrpc_csharp_ext.dylib": "../../../libs/dbg/libgrpc_csharp_ext.dylib" |
||||
} |
||||
} |
||||
} |
||||
}, |
||||
"Release": { |
||||
"buildOptions": { |
||||
"copyToOutput": { |
||||
"mappings": { |
||||
"nativelibs/windows_x64/grpc_csharp_ext.dll": "../../../vsprojects/x64/Release/grpc_csharp_ext.dll", |
||||
"nativelibs/windows_x86/grpc_csharp_ext.dll": "../../../vsprojects/Release/grpc_csharp_ext.dll", |
||||
"nativelibs/linux_x64/libgrpc_csharp_ext.so": "../../../libs/opt/libgrpc_csharp_ext.so", |
||||
"nativelibs/macosx_x64/libgrpc_csharp_ext.dylib": "../../../libs/opt/libgrpc_csharp_ext.dylib" |
||||
} |
||||
} |
||||
} |
||||
} |
||||
}, |
||||
"runtimes": { |
||||
"win7-x64": { }, |
||||
"debian.8-x64": { }, |
||||
"osx.10.11-x64": { } |
||||
}, |
||||
|
||||
"dependencies": { |
||||
"Grpc.HealthCheck": { |
||||
"target": "project" |
||||
}, |
||||
"NUnit": "3.2.0", |
||||
"NUnitLite": "3.2.0-*" |
||||
}, |
||||
"frameworks": { |
||||
"net45": { }, |
||||
"netstandard1.5": { |
||||
"imports": [ |
||||
"portable-net45" |
||||
], |
||||
"dependencies": { |
||||
"NETStandard.Library": "1.5.0-rc2-24027" |
||||
} |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,8 @@ |
||||
{ |
||||
"frameworks": { |
||||
"net45": { } |
||||
}, |
||||
"runtimes": { |
||||
"win": { } |
||||
} |
||||
} |
@ -0,0 +1,35 @@ |
||||
{ |
||||
"version": "0.15.0-dev", |
||||
"title": "gRPC C# Healthchecking", |
||||
"authors": [ "Google Inc." ], |
||||
"copyright": "Copyright 2015, Google Inc.", |
||||
"packOptions": { |
||||
"summary": "Implementation of gRPC health service", |
||||
"description": "Example implementation of grpc.health.v1 service that can be used for health-checking.", |
||||
"owners": [ "grpc-packages" ], |
||||
"licenseUrl": "https://github.com/grpc/grpc/blob/master/LICENSE", |
||||
"projectUrl": "https://github.com/grpc/grpc", |
||||
"requireLicenseAcceptance": false, |
||||
"tags": [ "gRPC health check" ] |
||||
}, |
||||
"dependencies": { |
||||
"Grpc.Core": "0.15.0-dev", |
||||
"Google.Protobuf": "3.0.0-beta3" |
||||
}, |
||||
"frameworks": { |
||||
"net45": { |
||||
"frameworkAssemblies": { |
||||
"System.Runtime": "", |
||||
"System.IO": "" |
||||
} |
||||
}, |
||||
"netstandard1.5": { |
||||
"imports": [ |
||||
"portable-net45" |
||||
], |
||||
"dependencies": { |
||||
"NETStandard.Library": "1.5.0-rc2-24027" |
||||
} |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,8 @@ |
||||
{ |
||||
"frameworks": { |
||||
"net45": { } |
||||
}, |
||||
"runtimes": { |
||||
"win": { } |
||||
} |
||||
} |
@ -0,0 +1,56 @@ |
||||
{ |
||||
"buildOptions": { |
||||
"emitEntryPoint": true |
||||
}, |
||||
"configurations": { |
||||
"Debug": { |
||||
"buildOptions": { |
||||
"copyToOutput": { |
||||
"include": "data/*", |
||||
"mappings": { |
||||
"nativelibs/windows_x64/grpc_csharp_ext.dll": "../../../vsprojects/x64/Debug/grpc_csharp_ext.dll", |
||||
"nativelibs/windows_x86/grpc_csharp_ext.dll": "../../../vsprojects/Debug/grpc_csharp_ext.dll", |
||||
"nativelibs/linux_x64/libgrpc_csharp_ext.so": "../../../libs/dbg/libgrpc_csharp_ext.so", |
||||
"nativelibs/macosx_x64/libgrpc_csharp_ext.dylib": "../../../libs/dbg/libgrpc_csharp_ext.dylib" |
||||
} |
||||
} |
||||
} |
||||
}, |
||||
"Release": { |
||||
"buildOptions": { |
||||
"copyToOutput": { |
||||
"include": "data/*", |
||||
"mappings": { |
||||
"nativelibs/windows_x64/grpc_csharp_ext.dll": "../../../vsprojects/x64/Release/grpc_csharp_ext.dll", |
||||
"nativelibs/windows_x86/grpc_csharp_ext.dll": "../../../vsprojects/Release/grpc_csharp_ext.dll", |
||||
"nativelibs/linux_x64/libgrpc_csharp_ext.so": "../../../libs/opt/libgrpc_csharp_ext.so", |
||||
"nativelibs/macosx_x64/libgrpc_csharp_ext.dylib": "../../../libs/opt/libgrpc_csharp_ext.dylib" |
||||
} |
||||
} |
||||
} |
||||
} |
||||
}, |
||||
"runtimes": { |
||||
"win7-x64": { }, |
||||
"debian.8-x64": { }, |
||||
"osx.10.11-x64": { } |
||||
}, |
||||
|
||||
"dependencies": { |
||||
"Grpc.IntegrationTesting": { |
||||
"target": "project" |
||||
} |
||||
}, |
||||
"frameworks": { |
||||
"net45": { }, |
||||
"netstandard1.5": { |
||||
"imports": [ |
||||
"portable-net45", |
||||
"net45" |
||||
], |
||||
"dependencies": { |
||||
"NETStandard.Library": "1.5.0-rc2-24027" |
||||
} |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,8 @@ |
||||
{ |
||||
"frameworks": { |
||||
"net45": { } |
||||
}, |
||||
"runtimes": { |
||||
"win": { } |
||||
} |
||||
} |
@ -0,0 +1,56 @@ |
||||
{ |
||||
"buildOptions": { |
||||
"emitEntryPoint": true |
||||
}, |
||||
"configurations": { |
||||
"Debug": { |
||||
"buildOptions": { |
||||
"copyToOutput": { |
||||
"include": "data/*", |
||||
"mappings": { |
||||
"nativelibs/windows_x64/grpc_csharp_ext.dll": "../../../vsprojects/x64/Debug/grpc_csharp_ext.dll", |
||||
"nativelibs/windows_x86/grpc_csharp_ext.dll": "../../../vsprojects/Debug/grpc_csharp_ext.dll", |
||||
"nativelibs/linux_x64/libgrpc_csharp_ext.so": "../../../libs/dbg/libgrpc_csharp_ext.so", |
||||
"nativelibs/macosx_x64/libgrpc_csharp_ext.dylib": "../../../libs/dbg/libgrpc_csharp_ext.dylib" |
||||
} |
||||
} |
||||
} |
||||
}, |
||||
"Release": { |
||||
"buildOptions": { |
||||
"copyToOutput": { |
||||
"include": "data/*", |
||||
"mappings": { |
||||
"nativelibs/windows_x64/grpc_csharp_ext.dll": "../../../vsprojects/x64/Release/grpc_csharp_ext.dll", |
||||
"nativelibs/windows_x86/grpc_csharp_ext.dll": "../../../vsprojects/Release/grpc_csharp_ext.dll", |
||||
"nativelibs/linux_x64/libgrpc_csharp_ext.so": "../../../libs/opt/libgrpc_csharp_ext.so", |
||||
"nativelibs/macosx_x64/libgrpc_csharp_ext.dylib": "../../../libs/opt/libgrpc_csharp_ext.dylib" |
||||
} |
||||
} |
||||
} |
||||
} |
||||
}, |
||||
"runtimes": { |
||||
"win7-x64": { }, |
||||
"debian.8-x64": { }, |
||||
"osx.10.11-x64": { } |
||||
}, |
||||
|
||||
"dependencies": { |
||||
"Grpc.IntegrationTesting": { |
||||
"target": "project" |
||||
} |
||||
}, |
||||
"frameworks": { |
||||
"net45": { }, |
||||
"netstandard1.5": { |
||||
"imports": [ |
||||
"portable-net45", |
||||
"net45" |
||||
], |
||||
"dependencies": { |
||||
"NETStandard.Library": "1.5.0-rc2-24027" |
||||
} |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,8 @@ |
||||
{ |
||||
"frameworks": { |
||||
"net45": { } |
||||
}, |
||||
"runtimes": { |
||||
"win": { } |
||||
} |
||||
} |
@ -0,0 +1,56 @@ |
||||
{ |
||||
"buildOptions": { |
||||
"emitEntryPoint": true |
||||
}, |
||||
"configurations": { |
||||
"Debug": { |
||||
"buildOptions": { |
||||
"copyToOutput": { |
||||
"include": "data/*", |
||||
"mappings": { |
||||
"nativelibs/windows_x64/grpc_csharp_ext.dll": "../../../vsprojects/x64/Debug/grpc_csharp_ext.dll", |
||||
"nativelibs/windows_x86/grpc_csharp_ext.dll": "../../../vsprojects/Debug/grpc_csharp_ext.dll", |
||||
"nativelibs/linux_x64/libgrpc_csharp_ext.so": "../../../libs/dbg/libgrpc_csharp_ext.so", |
||||
"nativelibs/macosx_x64/libgrpc_csharp_ext.dylib": "../../../libs/dbg/libgrpc_csharp_ext.dylib" |
||||
} |
||||
} |
||||
} |
||||
}, |
||||
"Release": { |
||||
"buildOptions": { |
||||
"copyToOutput": { |
||||
"include": "data/*", |
||||
"mappings": { |
||||
"nativelibs/windows_x64/grpc_csharp_ext.dll": "../../../vsprojects/x64/Release/grpc_csharp_ext.dll", |
||||
"nativelibs/windows_x86/grpc_csharp_ext.dll": "../../../vsprojects/Release/grpc_csharp_ext.dll", |
||||
"nativelibs/linux_x64/libgrpc_csharp_ext.so": "../../../libs/opt/libgrpc_csharp_ext.so", |
||||
"nativelibs/macosx_x64/libgrpc_csharp_ext.dylib": "../../../libs/opt/libgrpc_csharp_ext.dylib" |
||||
} |
||||
} |
||||
} |
||||
} |
||||
}, |
||||
"runtimes": { |
||||
"win7-x64": { }, |
||||
"debian.8-x64": { }, |
||||
"osx.10.11-x64": { } |
||||
}, |
||||
|
||||
"dependencies": { |
||||
"Grpc.IntegrationTesting": { |
||||
"target": "project" |
||||
} |
||||
}, |
||||
"frameworks": { |
||||
"net45": { }, |
||||
"netstandard1.5": { |
||||
"imports": [ |
||||
"portable-net45", |
||||
"net45" |
||||
], |
||||
"dependencies": { |
||||
"NETStandard.Library": "1.5.0-rc2-24027" |
||||
} |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,8 @@ |
||||
{ |
||||
"frameworks": { |
||||
"net45": { } |
||||
}, |
||||
"runtimes": { |
||||
"win": { } |
||||
} |
||||
} |
@ -0,0 +1,56 @@ |
||||
{ |
||||
"buildOptions": { |
||||
"emitEntryPoint": true |
||||
}, |
||||
"configurations": { |
||||
"Debug": { |
||||
"buildOptions": { |
||||
"copyToOutput": { |
||||
"include": "data/*", |
||||
"mappings": { |
||||
"nativelibs/windows_x64/grpc_csharp_ext.dll": "../../../vsprojects/x64/Debug/grpc_csharp_ext.dll", |
||||
"nativelibs/windows_x86/grpc_csharp_ext.dll": "../../../vsprojects/Debug/grpc_csharp_ext.dll", |
||||
"nativelibs/linux_x64/libgrpc_csharp_ext.so": "../../../libs/dbg/libgrpc_csharp_ext.so", |
||||
"nativelibs/macosx_x64/libgrpc_csharp_ext.dylib": "../../../libs/dbg/libgrpc_csharp_ext.dylib" |
||||
} |
||||
} |
||||
} |
||||
}, |
||||
"Release": { |
||||
"buildOptions": { |
||||
"copyToOutput": { |
||||
"include": "data/*", |
||||
"mappings": { |
||||
"nativelibs/windows_x64/grpc_csharp_ext.dll": "../../../vsprojects/x64/Release/grpc_csharp_ext.dll", |
||||
"nativelibs/windows_x86/grpc_csharp_ext.dll": "../../../vsprojects/Release/grpc_csharp_ext.dll", |
||||
"nativelibs/linux_x64/libgrpc_csharp_ext.so": "../../../libs/opt/libgrpc_csharp_ext.so", |
||||
"nativelibs/macosx_x64/libgrpc_csharp_ext.dylib": "../../../libs/opt/libgrpc_csharp_ext.dylib" |
||||
} |
||||
} |
||||
} |
||||
} |
||||
}, |
||||
"runtimes": { |
||||
"win7-x64": { }, |
||||
"debian.8-x64": { }, |
||||
"osx.10.11-x64": { } |
||||
}, |
||||
|
||||
"dependencies": { |
||||
"Grpc.IntegrationTesting": { |
||||
"target": "project" |
||||
} |
||||
}, |
||||
"frameworks": { |
||||
"net45": { }, |
||||
"netstandard1.5": { |
||||
"imports": [ |
||||
"portable-net45", |
||||
"net45" |
||||
], |
||||
"dependencies": { |
||||
"NETStandard.Library": "1.5.0-rc2-24027" |
||||
} |
||||
} |
||||
} |
||||
} |
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue