示例#1
0
 /// <summary>
 /// Returns a new <see cref="CallSettings"/> with the specified expiration,
 /// merged with the (optional) original settings specified by <paramref name="settings"/>.
 /// </summary>
 /// <param name="settings">Original settings. May be null, in which case the returned settings
 /// will only contain the expiration.</param>
 /// <param name="expiration">Expiration to use in the returned settings, possibly as part of a retry. May be null,
 /// in which case any expiration in <paramref name="settings"/> is not present in the new call settings. If
 /// both this and <paramref name="settings"/> are null, the return value is null.</param>
 /// <returns>A new set of call settings with the specified expiration, or null of both parameters are null.</returns>
 public static CallSettings WithExpiration(
     this CallSettings settings,
     Expiration expiration) =>
 settings == null
         ? CallSettings.FromExpiration(expiration)
         : new CallSettings(settings.CancellationToken,
                            expiration, settings.Retry, settings.HeaderMutation,
                            settings.WriteOptions, settings.PropagationToken,
                            settings.ResponseMetadataHandler, settings.TrailingMetadataHandler);
示例#2
0
        /// <summary>
        /// Returns a new <see cref="CallSettings"/> with the specified expiration,
        /// merged with the (optional) original settings specified by <paramref name="settings"/>.
        /// </summary>
        /// <param name="settings">Original settings. May be null, in which case the returned settings
        /// will only contain the expiration.</param>
        /// <param name="expiration">Expiration to use in the returned settings, possibly as part of a retry. May be null,
        /// in which case any expiration in <paramref name="settings"/> is not present in the new call settings. If
        /// both this and <paramref name="settings"/> are null, the return value is null.</param>
        /// <returns>A new set of call settings with the specified expiration, or null of both parameters are null.</returns>
        public static CallSettings WithExpiration(
            this CallSettings settings,
            Expiration expiration) =>
        settings == null
                ? CallSettings.FromExpiration(expiration)
#pragma warning disable CS0618 // Type or member is obsolete
        // But as long as user code can specify credentials we should continue to respect that.
                : new CallSettings(settings.CancellationToken, settings.Credentials,
                                   expiration, settings.Retry, settings.HeaderMutation,
                                   settings.WriteOptions, settings.PropagationToken,
                                   settings.ResponseMetadataHandler, settings.TrailingMetadataHandler);