Skip to content

Commit d5b7685

Browse files
authored
Merge branch 'master' into EditDocs2
2 parents ffe5e88 + 1125283 commit d5b7685

File tree

213 files changed

+2072
-4073
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

213 files changed

+2072
-4073
lines changed

CHANGELOG.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,25 @@
11
## Changes Between 6.1.0 and 6.2.0
22

3+
This releases primarily focuses on efficiency improvements and addressing
4+
bugs introduced in `6.x` releases.
5+
36
A full list of changes can be found in the GitHub milestone: [`6.2.0`](https://github.com/rabbitmq/rabbitmq-dotnet-client/milestone/49?closed=1).
47

8+
Key highlights include:
9+
10+
* Concurrent publishing on a shared channel is now safer. We still recommend avoiding it when possible
11+
but safety properties have been improved by changing how outgoing frame sequences are serialised.
12+
13+
Contributed by @bollhals.
14+
15+
GitHub issue: [#878](https://github.com/rabbitmq/rabbitmq-dotnet-client/pull/878)
16+
17+
* Batch publishing using `System.ReadOnlyMemory<byte>` payloads instead of byte arrays.
18+
19+
Contributed by @danielmarbach.
20+
21+
GitHub issue: [#865](https://github.com/rabbitmq/rabbitmq-dotnet-client/pull/865), [#892](https://github.com/rabbitmq/rabbitmq-dotnet-client/pull/892)
22+
523
## Changes Between 6.0.0 and 6.1.0
624

725
This release continues with improvements to memory use and object allocations.

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
This package, the RabbitMQ .NET client library, is dual-licensed under
2-
the Apache License v2 and the Mozilla Public License v1.1.
2+
the Apache License v2 and the Mozilla Public License v2.0.
33

44
For the Apache License, please see the file LICENSE-APACHE2.
55

LICENSE-MPL-RabbitMQ

Lines changed: 373 additions & 455 deletions
Large diffs are not rendered by default.

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ See [Contributing](CONTRIBUTING.md) and [How to Run Tests](RUNNING_TESTS.md).
5252
## License
5353

5454
This package, the RabbitMQ .NET client library, is double-licensed under
55-
the Mozilla Public License 1.1 ("MPL") and the Apache License version 2 ("ASL").
55+
the Mozilla Public License 2.0 ("MPL") and the Apache License version 2 ("ASL").
5656

5757
This means that the user can consider the library to be licensed under **any of the licenses from the list** above.
5858
For example, you may choose the Apache Public License 2.0 and include this client into a commercial product.

projects/Apigen/apigen/AmqpClass.cs

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// This source code is dual-licensed under the Apache License, version
2-
// 2.0, and the Mozilla Public License, version 1.1.
2+
// 2.0, and the Mozilla Public License, version 2.0.
33
//
44
// The APL v2.0:
55
//
@@ -19,22 +19,13 @@
1919
// limitations under the License.
2020
//---------------------------------------------------------------------------
2121
//
22-
// The MPL v1.1:
22+
// The MPL v2.0:
2323
//
2424
//---------------------------------------------------------------------------
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/
25+
// This Source Code Form is subject to the terms of the Mozilla Public
26+
// License, v. 2.0. If a copy of the MPL was not distributed with this
27+
// file, You can obtain one at https://mozilla.org/MPL/2.0/.
2928
//
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.
3829
// Copyright (c) 2007-2020 VMware, Inc. All rights reserved.
3930
//---------------------------------------------------------------------------
4031

projects/Apigen/apigen/AmqpEntity.cs

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// This source code is dual-licensed under the Apache License, version
2-
// 2.0, and the Mozilla Public License, version 1.1.
2+
// 2.0, and the Mozilla Public License, version 2.0.
33
//
44
// The APL v2.0:
55
//
@@ -19,22 +19,13 @@
1919
// limitations under the License.
2020
//---------------------------------------------------------------------------
2121
//
22-
// The MPL v1.1:
22+
// The MPL v2.0:
2323
//
2424
//---------------------------------------------------------------------------
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/
25+
// This Source Code Form is subject to the terms of the Mozilla Public
26+
// License, v. 2.0. If a copy of the MPL was not distributed with this
27+
// file, You can obtain one at https://mozilla.org/MPL/2.0/.
2928
//
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.
3829
// Copyright (c) 2007-2020 VMware, Inc. All rights reserved.
3930
//---------------------------------------------------------------------------
4031

projects/Apigen/apigen/AmqpField.cs

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// This source code is dual-licensed under the Apache License, version
2-
// 2.0, and the Mozilla Public License, version 1.1.
2+
// 2.0, and the Mozilla Public License, version 2.0.
33
//
44
// The APL v2.0:
55
//
@@ -19,22 +19,13 @@
1919
// limitations under the License.
2020
//---------------------------------------------------------------------------
2121
//
22-
// The MPL v1.1:
22+
// The MPL v2.0:
2323
//
2424
//---------------------------------------------------------------------------
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/
25+
// This Source Code Form is subject to the terms of the Mozilla Public
26+
// License, v. 2.0. If a copy of the MPL was not distributed with this
27+
// file, You can obtain one at https://mozilla.org/MPL/2.0/.
2928
//
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.
3829
// Copyright (c) 2007-2020 VMware, Inc. All rights reserved.
3930
//---------------------------------------------------------------------------
4031

projects/Apigen/apigen/AmqpMethod.cs

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// This source code is dual-licensed under the Apache License, version
2-
// 2.0, and the Mozilla Public License, version 1.1.
2+
// 2.0, and the Mozilla Public License, version 2.0.
33
//
44
// The APL v2.0:
55
//
@@ -19,22 +19,13 @@
1919
// limitations under the License.
2020
//---------------------------------------------------------------------------
2121
//
22-
// The MPL v1.1:
22+
// The MPL v2.0:
2323
//
2424
//---------------------------------------------------------------------------
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/
25+
// This Source Code Form is subject to the terms of the Mozilla Public
26+
// License, v. 2.0. If a copy of the MPL was not distributed with this
27+
// file, You can obtain one at https://mozilla.org/MPL/2.0/.
2928
//
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.
3829
// Copyright (c) 2007-2020 VMware, Inc. All rights reserved.
3930
//---------------------------------------------------------------------------
4031

projects/Apigen/apigen/Apigen.cs

Lines changed: 15 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// This source code is dual-licensed under the Apache License, version
2-
// 2.0, and the Mozilla Public License, version 1.1.
2+
// 2.0, and the Mozilla Public License, version 2.0.
33
//
44
// The APL v2.0:
55
//
@@ -19,22 +19,13 @@
1919
// limitations under the License.
2020
//---------------------------------------------------------------------------
2121
//
22-
// The MPL v1.1:
22+
// The MPL v2.0:
2323
//
2424
//---------------------------------------------------------------------------
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/
25+
// This Source Code Form is subject to the terms of the Mozilla Public
26+
// License, v. 2.0. If a copy of the MPL was not distributed with this
27+
// file, You can obtain one at https://mozilla.org/MPL/2.0/.
2928
//
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.
3829
// Copyright (c) 2007-2020 VMware, Inc. All rights reserved.
3930
//---------------------------------------------------------------------------
4031

@@ -406,7 +397,7 @@ public void EmitPrelude()
406397
@"// Autogenerated code. Do not edit.
407398
408399
// This source code is dual-licensed under the Apache License, version
409-
// 2.0, and the Mozilla Public License, version 1.1.
400+
// 2.0, and the Mozilla Public License, version 2.0.
410401
//
411402
// The APL v2.0:
412403
//
@@ -426,22 +417,13 @@ public void EmitPrelude()
426417
// limitations under the License.
427418
//---------------------------------------------------------------------------
428419
//
429-
// The MPL v1.1:
420+
// The MPL v2.0:
430421
//
431422
//---------------------------------------------------------------------------
432-
// The contents of this file are subject to the Mozilla Public License
433-
// Version 1.1 (the ""License""); you may not use this file except in
434-
// compliance with the License. You may obtain a copy of the License at
435-
// https://www.rabbitmq.com/mpl.html
436-
//
437-
// Software distributed under the License is distributed on an ""AS IS""
438-
// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
439-
// License for the specific language governing rights and limitations
440-
// under the License.
423+
// This Source Code Form is subject to the terms of the Mozilla Public
424+
// License, v. 2.0. If a copy of the MPL was not distributed with this
425+
// file, You can obtain one at https://mozilla.org/MPL/2.0/.
441426
//
442-
// The Original Code is RabbitMQ.
443-
//
444-
// The Initial Developer of the Original Code is Pivotal Software, Inc.
445427
// Copyright (c) 2007-2020 VMware, Inc. All rights reserved.
446428
//---------------------------------------------------------------------------
447429
@@ -1428,6 +1410,10 @@ string GetParameterString(ParameterInfo pi)
14281410
{
14291411
return "cmd.Body";
14301412
}
1413+
else if (Attribute(pi, typeof(AmqpContentBodyArrayMappingAttribute)) != null)
1414+
{
1415+
return "cmd.TakeoverPayload()";
1416+
}
14311417
else
14321418
{
14331419
return $"__impl._{(!(Attribute(pi, typeof(AmqpFieldMappingAttribute)) is AmqpFieldMappingAttribute fieldMapping) ? pi.Name : fieldMapping.m_fieldName)}";
@@ -1436,7 +1422,7 @@ string GetParameterString(ParameterInfo pi)
14361422
throw new NotImplementedException();
14371423
}
14381424

1439-
EmitLine(" public override bool DispatchAsynchronous(Client.Impl.Command cmd) {");
1425+
EmitLine(" public override bool DispatchAsynchronous(in IncomingCommand cmd) {");
14401426
EmitLine(" switch ((cmd.Method.ProtocolClassId << 16) | cmd.Method.ProtocolMethodId)");
14411427
EmitLine(" {");
14421428
foreach (MethodInfo method in asynchronousHandlers)

projects/RabbitMQ.Client/client/api/AmqpTcpEndpoint.cs

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// This source code is dual-licensed under the Apache License, version
2-
// 2.0, and the Mozilla Public License, version 1.1.
2+
// 2.0, and the Mozilla Public License, version 2.0.
33
//
44
// The APL v2.0:
55
//
@@ -19,22 +19,13 @@
1919
// limitations under the License.
2020
//---------------------------------------------------------------------------
2121
//
22-
// The MPL v1.1:
22+
// The MPL v2.0:
2323
//
2424
//---------------------------------------------------------------------------
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/
25+
// This Source Code Form is subject to the terms of the Mozilla Public
26+
// License, v. 2.0. If a copy of the MPL was not distributed with this
27+
// file, You can obtain one at https://mozilla.org/MPL/2.0/.
2928
//
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.
3829
// Copyright (c) 2007-2020 VMware, Inc. All rights reserved.
3930
//---------------------------------------------------------------------------
4031

projects/RabbitMQ.Client/client/api/AmqpTimestamp.cs

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// This source code is dual-licensed under the Apache License, version
2-
// 2.0, and the Mozilla Public License, version 1.1.
2+
// 2.0, and the Mozilla Public License, version 2.0.
33
//
44
// The APL v2.0:
55
//
@@ -19,22 +19,13 @@
1919
// limitations under the License.
2020
//---------------------------------------------------------------------------
2121
//
22-
// The MPL v1.1:
22+
// The MPL v2.0:
2323
//
2424
//---------------------------------------------------------------------------
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/
25+
// This Source Code Form is subject to the terms of the Mozilla Public
26+
// License, v. 2.0. If a copy of the MPL was not distributed with this
27+
// file, You can obtain one at https://mozilla.org/MPL/2.0/.
2928
//
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.
3829
// Copyright (c) 2007-2020 VMware, Inc. All rights reserved.
3930
//---------------------------------------------------------------------------
4031

0 commit comments

Comments
 (0)