Jan Tattermusch | bff90ac | 2015-08-06 21:30:26 -0700 | [diff] [blame] | 1 | #region Copyright notice and license |
| 2 | |
Jan Tattermusch | 7897ae9 | 2017-06-07 22:57:36 +0200 | [diff] [blame] | 3 | // Copyright 2015-2016 gRPC authors. |
Jan Tattermusch | bff90ac | 2015-08-06 21:30:26 -0700 | [diff] [blame] | 4 | // |
Jan Tattermusch | 7897ae9 | 2017-06-07 22:57:36 +0200 | [diff] [blame] | 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 |
Jan Tattermusch | bff90ac | 2015-08-06 21:30:26 -0700 | [diff] [blame] | 8 | // |
Jan Tattermusch | 7897ae9 | 2017-06-07 22:57:36 +0200 | [diff] [blame] | 9 | // http://www.apache.org/licenses/LICENSE-2.0 |
Jan Tattermusch | bff90ac | 2015-08-06 21:30:26 -0700 | [diff] [blame] | 10 | // |
Jan Tattermusch | 7897ae9 | 2017-06-07 22:57:36 +0200 | [diff] [blame] | 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. |
Jan Tattermusch | bff90ac | 2015-08-06 21:30:26 -0700 | [diff] [blame] | 16 | |
| 17 | #endregion |
| 18 | |
| 19 | using System; |
| 20 | |
| 21 | namespace Grpc.Core |
| 22 | { |
| 23 | /// <summary> |
| 24 | /// Flags for write operations. |
| 25 | /// </summary> |
| 26 | [Flags] |
| 27 | public enum WriteFlags |
| 28 | { |
| 29 | /// <summary> |
| 30 | /// Hint that the write may be buffered and need not go out on the wire immediately. |
| 31 | /// gRPC is free to buffer the message until the next non-buffered |
| 32 | /// write, or until write stream completion, but it need not buffer completely or at all. |
| 33 | /// </summary> |
| 34 | BufferHint = 0x1, |
| 35 | |
| 36 | /// <summary> |
| 37 | /// Force compression to be disabled for a particular write. |
| 38 | /// </summary> |
| 39 | NoCompress = 0x2 |
| 40 | } |
| 41 | |
Jan Tattermusch | bff90ac | 2015-08-06 21:30:26 -0700 | [diff] [blame] | 42 | /// <summary> |
| 43 | /// Options for write operations. |
| 44 | /// </summary> |
| 45 | public class WriteOptions |
| 46 | { |
| 47 | /// <summary> |
| 48 | /// Default write options. |
| 49 | /// </summary> |
| 50 | public static readonly WriteOptions Default = new WriteOptions(); |
| 51 | |
Chris Bacon | 75743ef | 2016-03-14 15:10:44 +0000 | [diff] [blame] | 52 | private readonly WriteFlags flags; |
Jan Tattermusch | bff90ac | 2015-08-06 21:30:26 -0700 | [diff] [blame] | 53 | |
Jan Tattermusch | 12855fc | 2015-08-24 16:43:23 -0700 | [diff] [blame] | 54 | /// <summary> |
| 55 | /// Initializes a new instance of <c>WriteOptions</c> class. |
| 56 | /// </summary> |
| 57 | /// <param name="flags">The write flags.</param> |
Jan Tattermusch | bff90ac | 2015-08-06 21:30:26 -0700 | [diff] [blame] | 58 | public WriteOptions(WriteFlags flags = default(WriteFlags)) |
| 59 | { |
| 60 | this.flags = flags; |
| 61 | } |
| 62 | |
Jan Tattermusch | 12855fc | 2015-08-24 16:43:23 -0700 | [diff] [blame] | 63 | /// <summary> |
| 64 | /// Gets the write flags. |
| 65 | /// </summary> |
Jan Tattermusch | bff90ac | 2015-08-06 21:30:26 -0700 | [diff] [blame] | 66 | public WriteFlags Flags |
| 67 | { |
| 68 | get |
| 69 | { |
| 70 | return this.flags; |
| 71 | } |
| 72 | } |
| 73 | } |
| 74 | } |