/// <summary> /// Returns a new <see cref="CallSettings"/> with the specified call timing, /// 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 call timing.</param> /// <param name="timing">Call timing for the new call settings. /// This may be null, in which case any call timing in <paramref name="settings"/> are /// 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, or null if both parameters are null.</returns> public static CallSettings WithCallTiming( this CallSettings settings, CallTiming timing) => settings == null ? CallSettings.FromCallTiming(timing) : new CallSettings(settings.CancellationToken, settings.Credentials, timing, settings.HeaderMutation, settings.WriteOptions, settings.PropagationToken);
/// <summary> /// Returns a new <see cref="CallSettings"/> with the specified call timing, /// 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 call timing.</param> /// <param name="timing">Call timing for the new call settings. /// This may be null, in which case any call timing in <paramref name="settings"/> are /// 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, or null if both parameters are null.</returns> public static CallSettings WithCallTiming( this CallSettings settings, CallTiming timing) => settings == null ? CallSettings.FromCallTiming(timing) : new CallSettings(settings.CancellationToken, settings.Credentials, timing, settings.HeaderMutation, settings.WriteOptions, settings.PropagationToken, settings.ResponseMetadataHandler, settings.TrailingMetadataHandler);