|  | 
|  | 1 | +// This source code is dual-licensed under the Apache License, version | 
|  | 2 | +// 2.0, and the Mozilla Public License, version 1.1. | 
|  | 3 | +// | 
|  | 4 | +// The APL v2.0: | 
|  | 5 | +// | 
|  | 6 | +//--------------------------------------------------------------------------- | 
|  | 7 | +//   Copyright (c) 2007-2020 VMware, Inc. | 
|  | 8 | +// | 
|  | 9 | +//   Licensed under the Apache License, Version 2.0 (the "License"); | 
|  | 10 | +//   you may not use this file except in compliance with the License. | 
|  | 11 | +//   You may obtain a copy of the License at | 
|  | 12 | +// | 
|  | 13 | +//       https://www.apache.org/licenses/LICENSE-2.0 | 
|  | 14 | +// | 
|  | 15 | +//   Unless required by applicable law or agreed to in writing, software | 
|  | 16 | +//   distributed under the License is distributed on an "AS IS" BASIS, | 
|  | 17 | +//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 
|  | 18 | +//   See the License for the specific language governing permissions and | 
|  | 19 | +//   limitations under the License. | 
|  | 20 | +//--------------------------------------------------------------------------- | 
|  | 21 | +// | 
|  | 22 | +// The MPL v1.1: | 
|  | 23 | +// | 
|  | 24 | +//--------------------------------------------------------------------------- | 
|  | 25 | +//  The contents of this file are subject to the Mozilla Public License | 
|  | 26 | +//  Version 1.1 (the "License"); you may not use this file except in | 
|  | 27 | +//  compliance with the License. You may obtain a copy of the License | 
|  | 28 | +//  at https://www.mozilla.org/MPL/ | 
|  | 29 | +// | 
|  | 30 | +//  Software distributed under the License is distributed on an "AS IS" | 
|  | 31 | +//  basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See | 
|  | 32 | +//  the License for the specific language governing rights and | 
|  | 33 | +//  limitations under the License. | 
|  | 34 | +// | 
|  | 35 | +//  The Original Code is RabbitMQ. | 
|  | 36 | +// | 
|  | 37 | +//  The Initial Developer of the Original Code is Pivotal Software, Inc. | 
|  | 38 | +//  Copyright (c) 2007-2020 VMware, Inc.  All rights reserved. | 
|  | 39 | +//--------------------------------------------------------------------------- | 
|  | 40 | + | 
|  | 41 | +using System; | 
|  | 42 | +using RabbitMQ.Client.Impl; | 
|  | 43 | + | 
|  | 44 | +namespace RabbitMQ.Client | 
|  | 45 | +{ | 
|  | 46 | +    public static class BasicPublishBatchExtensions | 
|  | 47 | +    { | 
|  | 48 | +        public static void Add(this IBasicPublishBatch batch, string exchange, string routingKey, bool mandatory, IBasicProperties properties, ReadOnlyMemory<byte> body) | 
|  | 49 | +        { | 
|  | 50 | +            if (batch is BasicPublishBatch batchInternal) | 
|  | 51 | +            { | 
|  | 52 | +                batchInternal.Add(exchange, routingKey, mandatory, properties, body); | 
|  | 53 | +                return; | 
|  | 54 | +            } | 
|  | 55 | + | 
|  | 56 | +#pragma warning disable 618 | 
|  | 57 | +            batch.Add(exchange, routingKey, mandatory, properties, body.ToArray()); | 
|  | 58 | +#pragma warning restore 618 | 
|  | 59 | +        } | 
|  | 60 | +    } | 
|  | 61 | +} | 
0 commit comments