diff --git a/Confluent.Kafka.sln b/Confluent.Kafka.sln
index 38703ac48..1b31590b5 100644
--- a/Confluent.Kafka.sln
+++ b/Confluent.Kafka.sln
@@ -1,75 +1,77 @@
Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 15
-VisualStudioVersion = 15.0.26124.0
+# Visual Studio Version 17
+VisualStudioVersion = 17.8.34316.72
MinimumVisualStudioVersion = 15.0.26124.0
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{1EFCD839-0726-4BCE-B745-1E829991B1BC}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Confluent.Kafka", "src\Confluent.Kafka\Confluent.Kafka.csproj", "{09C3255B-1972-4EB8-91D0-FB9F5CD82BCB}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Confluent.Kafka", "src\Confluent.Kafka\Confluent.Kafka.csproj", "{09C3255B-1972-4EB8-91D0-FB9F5CD82BCB}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Confluent.SchemaRegistry", "src\Confluent.SchemaRegistry\Confluent.SchemaRegistry.csproj", "{AA671E3D-EB85-40A2-B183-8DA037286680}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Confluent.SchemaRegistry", "src\Confluent.SchemaRegistry\Confluent.SchemaRegistry.csproj", "{AA671E3D-EB85-40A2-B183-8DA037286680}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{90058283-1F8F-465D-89E4-D4374A27E612}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Confluent.Kafka.UnitTests", "test\Confluent.Kafka.UnitTests\Confluent.Kafka.UnitTests.csproj", "{BD6FCDB1-CC2E-4DE2-AB48-9CBD3F78E637}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Confluent.Kafka.UnitTests", "test\Confluent.Kafka.UnitTests\Confluent.Kafka.UnitTests.csproj", "{BD6FCDB1-CC2E-4DE2-AB48-9CBD3F78E637}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Confluent.Kafka.IntegrationTests", "test\Confluent.Kafka.IntegrationTests\Confluent.Kafka.IntegrationTests.csproj", "{DBD710F7-42E0-496C-9356-D7C72856CD6D}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Confluent.Kafka.IntegrationTests", "test\Confluent.Kafka.IntegrationTests\Confluent.Kafka.IntegrationTests.csproj", "{DBD710F7-42E0-496C-9356-D7C72856CD6D}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Confluent.Kafka.VerifiableClient", "test\Confluent.Kafka.VerifiableClient\Confluent.Kafka.VerifiableClient.csproj", "{FB3EF483-5AA4-444B-AA0C-E9A63EF82926}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Confluent.Kafka.VerifiableClient", "test\Confluent.Kafka.VerifiableClient\Confluent.Kafka.VerifiableClient.csproj", "{FB3EF483-5AA4-444B-AA0C-E9A63EF82926}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Confluent.Kafka.Benchmark", "test\Confluent.Kafka.Benchmark\Confluent.Kafka.Benchmark.csproj", "{557A1E5B-C898-44AE-96A8-4197786C8A62}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Confluent.Kafka.Benchmark", "test\Confluent.Kafka.Benchmark\Confluent.Kafka.Benchmark.csproj", "{557A1E5B-C898-44AE-96A8-4197786C8A62}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Confluent.SchemaRegistry.Serdes.UnitTests", "test\Confluent.SchemaRegistry.Serdes.UnitTests\Confluent.SchemaRegistry.Serdes.UnitTests.csproj", "{8DBE884D-B22E-48BB-B86C-DEC115DCC2E1}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Confluent.SchemaRegistry.Serdes.UnitTests", "test\Confluent.SchemaRegistry.Serdes.UnitTests\Confluent.SchemaRegistry.Serdes.UnitTests.csproj", "{8DBE884D-B22E-48BB-B86C-DEC115DCC2E1}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Confluent.SchemaRegistry.Serdes.IntegrationTests", "test\Confluent.SchemaRegistry.Serdes.IntegrationTests\Confluent.SchemaRegistry.Serdes.IntegrationTests.csproj", "{EBA8D93F-2B84-44B1-A954-516DAF81B19A}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Confluent.SchemaRegistry.Serdes.IntegrationTests", "test\Confluent.SchemaRegistry.Serdes.IntegrationTests\Confluent.SchemaRegistry.Serdes.IntegrationTests.csproj", "{EBA8D93F-2B84-44B1-A954-516DAF81B19A}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Confluent.SchemaRegistry.UnitTests", "test\Confluent.SchemaRegistry.UnitTests\Confluent.SchemaRegistry.UnitTests.csproj", "{E1582DD9-7EBE-4CEC-9013-A10A572D7B0C}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Confluent.SchemaRegistry.UnitTests", "test\Confluent.SchemaRegistry.UnitTests\Confluent.SchemaRegistry.UnitTests.csproj", "{E1582DD9-7EBE-4CEC-9013-A10A572D7B0C}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Confluent.SchemaRegistry.IntegrationTests", "test\Confluent.SchemaRegistry.IntegrationTests\Confluent.SchemaRegistry.IntegrationTests.csproj", "{EC57E6D6-371F-4538-8C48-35C37CA2ED67}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Confluent.SchemaRegistry.IntegrationTests", "test\Confluent.SchemaRegistry.IntegrationTests\Confluent.SchemaRegistry.IntegrationTests.csproj", "{EC57E6D6-371F-4538-8C48-35C37CA2ED67}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "examples", "examples", "{9CE4B5F7-9251-4340-BACB-207066A5DBE8}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AdminClient", "examples\AdminClient\AdminClient.csproj", "{964449D5-3024-420E-9262-1913EC189D6A}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AdminClient", "examples\AdminClient\AdminClient.csproj", "{964449D5-3024-420E-9262-1913EC189D6A}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvroBlogExamples", "examples\AvroBlogExamples\AvroBlogExamples.csproj", "{7C6FD5A2-5E53-4360-8DD5-1A2E9EA45CD8}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AvroBlogExamples", "examples\AvroBlogExamples\AvroBlogExamples.csproj", "{7C6FD5A2-5E53-4360-8DD5-1A2E9EA45CD8}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvroGeneric", "examples\AvroGeneric\AvroGeneric.csproj", "{200D1043-8C5A-48E3-AE61-3D1085E2B634}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AvroGeneric", "examples\AvroGeneric\AvroGeneric.csproj", "{200D1043-8C5A-48E3-AE61-3D1085E2B634}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvroSpecific", "examples\AvroSpecific\AvroSpecific.csproj", "{C4037015-9BB6-4028-9FF7-3BA2900C3CB9}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AvroSpecific", "examples\AvroSpecific\AvroSpecific.csproj", "{C4037015-9BB6-4028-9FF7-3BA2900C3CB9}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ConfluentCloud", "examples\ConfluentCloud\ConfluentCloud.csproj", "{8F2BFCF2-D1FD-4963-96B1-529B969653AC}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ConfluentCloud", "examples\ConfluentCloud\ConfluentCloud.csproj", "{8F2BFCF2-D1FD-4963-96B1-529B969653AC}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Consumer", "examples\Consumer\Consumer.csproj", "{CFDE34BC-071A-4AC2-AC03-B621DC719181}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Consumer", "examples\Consumer\Consumer.csproj", "{CFDE34BC-071A-4AC2-AC03-B621DC719181}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Producer", "examples\Producer\Producer.csproj", "{C5114860-FBED-491E-8DB5-E8B51F2A2E6C}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Producer", "examples\Producer\Producer.csproj", "{C5114860-FBED-491E-8DB5-E8B51F2A2E6C}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ConfigGen", "src\ConfigGen\ConfigGen.csproj", "{5642B638-F4AA-4C77-BE6E-C0FFF7CC103F}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ConfigGen", "src\ConfigGen\ConfigGen.csproj", "{5642B638-F4AA-4C77-BE6E-C0FFF7CC103F}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Protobuf", "examples\Protobuf\Protobuf.csproj", "{DBAE4CDC-7775-4D51-B457-ACEE5D1D9275}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Protobuf", "examples\Protobuf\Protobuf.csproj", "{DBAE4CDC-7775-4D51-B457-ACEE5D1D9275}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Confluent.Kafka.SyncOverAsync", "test\Confluent.Kafka.SyncOverAsync\Confluent.Kafka.SyncOverAsync.csproj", "{07E3455B-9CDF-4124-854E-8AC9B8950B1A}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Confluent.Kafka.SyncOverAsync", "test\Confluent.Kafka.SyncOverAsync\Confluent.Kafka.SyncOverAsync.csproj", "{07E3455B-9CDF-4124-854E-8AC9B8950B1A}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ExactlyOnce", "examples\ExactlyOnce\ExactlyOnce.csproj", "{C44F96F6-4711-4DB9-A00E-9FA6456513B9}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ExactlyOnce", "examples\ExactlyOnce\ExactlyOnce.csproj", "{C44F96F6-4711-4DB9-A00E-9FA6456513B9}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Confluent.Kafka.Transactions", "test\Confluent.Kafka.Transactions\Confluent.Kafka.Transactions.csproj", "{2A6D1D58-4F02-480E-8A9C-F2A0D0BC911C}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Confluent.Kafka.Transactions", "test\Confluent.Kafka.Transactions\Confluent.Kafka.Transactions.csproj", "{2A6D1D58-4F02-480E-8A9C-F2A0D0BC911C}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "JsonSerialization", "examples\JsonSerialization\JsonSerialization.csproj", "{C1F8EBEB-8F2D-44A1-BAAD-AE9337512FA6}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JsonSerialization", "examples\JsonSerialization\JsonSerialization.csproj", "{C1F8EBEB-8F2D-44A1-BAAD-AE9337512FA6}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Confluent.SchemaRegistry.Serdes.Avro", "src\Confluent.SchemaRegistry.Serdes.Avro\Confluent.SchemaRegistry.Serdes.Avro.csproj", "{1B2C48B7-FD1D-4457-9E5B-80EBB7A28104}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Confluent.SchemaRegistry.Serdes.Avro", "src\Confluent.SchemaRegistry.Serdes.Avro\Confluent.SchemaRegistry.Serdes.Avro.csproj", "{1B2C48B7-FD1D-4457-9E5B-80EBB7A28104}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Confluent.SchemaRegistry.Serdes.Protobuf", "src\Confluent.SchemaRegistry.Serdes.Protobuf\Confluent.SchemaRegistry.Serdes.Protobuf.csproj", "{3BE5B540-43FC-4945-ACE5-88BB6B0D846E}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Confluent.SchemaRegistry.Serdes.Protobuf", "src\Confluent.SchemaRegistry.Serdes.Protobuf\Confluent.SchemaRegistry.Serdes.Protobuf.csproj", "{3BE5B540-43FC-4945-ACE5-88BB6B0D846E}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Confluent.SchemaRegistry.Serdes.Json", "src\Confluent.SchemaRegistry.Serdes.Json\Confluent.SchemaRegistry.Serdes.Json.csproj", "{98D7F3E1-80EE-437C-8915-528BFD80E9B2}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Confluent.SchemaRegistry.Serdes.Json", "src\Confluent.SchemaRegistry.Serdes.Json\Confluent.SchemaRegistry.Serdes.Json.csproj", "{98D7F3E1-80EE-437C-8915-528BFD80E9B2}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ExactlyOnceOldBroker", "examples\ExactlyOnceOldBroker\ExactlyOnceOldBroker.csproj", "{8F582FFF-EA30-47F1-89D2-81A37F5E7E0C}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ExactlyOnceOldBroker", "examples\ExactlyOnceOldBroker\ExactlyOnceOldBroker.csproj", "{8F582FFF-EA30-47F1-89D2-81A37F5E7E0C}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OAuthConsumer", "examples\OAuthConsumer\OAuthConsumer.csproj", "{85ABD85A-53A2-4222-BE99-CE51F639F623}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OAuthConsumer", "examples\OAuthConsumer\OAuthConsumer.csproj", "{85ABD85A-53A2-4222-BE99-CE51F639F623}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OAuthOIDC", "examples\OAuthOIDC\OAuthOIDC.csproj", "{493C1E83-B424-488D-B6D6-713D07EF4152}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OAuthOIDC", "examples\OAuthOIDC\OAuthOIDC.csproj", "{493C1E83-B424-488D-B6D6-713D07EF4152}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OAuthProducer", "examples\OAuthProducer\OAuthProducer.csproj", "{E72DAB16-FAF7-4365-8151-9450007C93A0}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OAuthProducer", "examples\OAuthProducer\OAuthProducer.csproj", "{E72DAB16-FAF7-4365-8151-9450007C93A0}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "JsonWithReferences", "examples\JsonWithReferences\JsonWithReferences.csproj", "{2931D890-9420-4EA7-BCEE-AAD53108A629}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JsonWithReferences", "examples\JsonWithReferences\JsonWithReferences.csproj", "{2931D890-9420-4EA7-BCEE-AAD53108A629}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Confluent.Kafka.ApprovalTests", "test\Confluent.Kafka.ApprovalTests\Confluent.Kafka.ApprovalTests.csproj", "{E92AE7D7-A65C-4EAA-8702-A7D405D04F14}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -80,9 +82,6 @@ Global
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{09C3255B-1972-4EB8-91D0-FB9F5CD82BCB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{09C3255B-1972-4EB8-91D0-FB9F5CD82BCB}.Debug|Any CPU.Build.0 = Debug|Any CPU
@@ -456,6 +455,21 @@ Global
{2931D890-9420-4EA7-BCEE-AAD53108A629}.Release|x64.Build.0 = Release|Any CPU
{2931D890-9420-4EA7-BCEE-AAD53108A629}.Release|x86.ActiveCfg = Release|Any CPU
{2931D890-9420-4EA7-BCEE-AAD53108A629}.Release|x86.Build.0 = Release|Any CPU
+ {E92AE7D7-A65C-4EAA-8702-A7D405D04F14}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {E92AE7D7-A65C-4EAA-8702-A7D405D04F14}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {E92AE7D7-A65C-4EAA-8702-A7D405D04F14}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {E92AE7D7-A65C-4EAA-8702-A7D405D04F14}.Debug|x64.Build.0 = Debug|Any CPU
+ {E92AE7D7-A65C-4EAA-8702-A7D405D04F14}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {E92AE7D7-A65C-4EAA-8702-A7D405D04F14}.Debug|x86.Build.0 = Debug|Any CPU
+ {E92AE7D7-A65C-4EAA-8702-A7D405D04F14}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {E92AE7D7-A65C-4EAA-8702-A7D405D04F14}.Release|Any CPU.Build.0 = Release|Any CPU
+ {E92AE7D7-A65C-4EAA-8702-A7D405D04F14}.Release|x64.ActiveCfg = Release|Any CPU
+ {E92AE7D7-A65C-4EAA-8702-A7D405D04F14}.Release|x64.Build.0 = Release|Any CPU
+ {E92AE7D7-A65C-4EAA-8702-A7D405D04F14}.Release|x86.ActiveCfg = Release|Any CPU
+ {E92AE7D7-A65C-4EAA-8702-A7D405D04F14}.Release|x86.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{09C3255B-1972-4EB8-91D0-FB9F5CD82BCB} = {1EFCD839-0726-4BCE-B745-1E829991B1BC}
@@ -486,5 +500,9 @@ Global
{98D7F3E1-80EE-437C-8915-528BFD80E9B2} = {1EFCD839-0726-4BCE-B745-1E829991B1BC}
{8F582FFF-EA30-47F1-89D2-81A37F5E7E0C} = {9CE4B5F7-9251-4340-BACB-207066A5DBE8}
{2931D890-9420-4EA7-BCEE-AAD53108A629} = {9CE4B5F7-9251-4340-BACB-207066A5DBE8}
+ {E92AE7D7-A65C-4EAA-8702-A7D405D04F14} = {90058283-1F8F-465D-89E4-D4374A27E612}
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {8F12DBA0-291B-44C5-9FE8-5E2EE991E943}
EndGlobalSection
EndGlobal
diff --git a/test/Confluent.Kafka.ApprovalTests/ApiApprovalTests.cs b/test/Confluent.Kafka.ApprovalTests/ApiApprovalTests.cs
new file mode 100644
index 000000000..5b78f886b
--- /dev/null
+++ b/test/Confluent.Kafka.ApprovalTests/ApiApprovalTests.cs
@@ -0,0 +1,31 @@
+using Confluent.SchemaRegistry;
+using Confluent.SchemaRegistry.Serdes;
+using PublicApiGenerator;
+using Shouldly;
+using System;
+using Xunit;
+
+namespace Confluent.Kafka.ApprovalTests
+{
+ public class ApiApprovalTests
+ {
+ /// Check for changes to the public APIs.
+ /// The type used as a marker for the assembly whose public API change you want to check.
+ [Theory]
+ [InlineData(typeof(Message<,>))]
+ [InlineData(typeof(SchemaRegistryConfig))]
+ [InlineData(typeof(AvroSerializer<>))]
+ [InlineData(typeof(JsonSerializer<>))]
+ [InlineData(typeof(ProtobufSerializer<>))]
+ public void PublicApi(Type type)
+ {
+ string publicApi = type.Assembly.GeneratePublicApi(new ApiGeneratorOptions
+ {
+ IncludeAssemblyAttributes = false,
+ ExcludeAttributes = new[] { "System.Diagnostics.DebuggerDisplayAttribute" },
+ });
+
+ publicApi.ShouldMatchApproved(options => options!.WithFilenameGenerator((testMethodInfo, discriminator, fileType, fileExtension) => $"{type.Assembly.GetName().Name!}.{fileType}.{fileExtension}"));
+ }
+ }
+}
diff --git a/test/Confluent.Kafka.ApprovalTests/Confluent.Kafka.ApprovalTests.csproj b/test/Confluent.Kafka.ApprovalTests/Confluent.Kafka.ApprovalTests.csproj
new file mode 100644
index 000000000..22d2a2d14
--- /dev/null
+++ b/test/Confluent.Kafka.ApprovalTests/Confluent.Kafka.ApprovalTests.csproj
@@ -0,0 +1,21 @@
+
+
+
+ net6.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/test/Confluent.Kafka.ApprovalTests/Confluent.Kafka.approved.txt b/test/Confluent.Kafka.ApprovalTests/Confluent.Kafka.approved.txt
new file mode 100644
index 000000000..889b757c3
--- /dev/null
+++ b/test/Confluent.Kafka.ApprovalTests/Confluent.Kafka.approved.txt
@@ -0,0 +1,1921 @@
+namespace Confluent.Kafka
+{
+ public enum Acks
+ {
+ None = 0,
+ Leader = 1,
+ All = -1,
+ }
+ public class AdminClientBuilder
+ {
+ public AdminClientBuilder(System.Collections.Generic.IEnumerable> config) { }
+ protected System.Collections.Generic.IEnumerable> Config { get; set; }
+ protected System.Action ErrorHandler { get; set; }
+ protected System.Action LogHandler { get; set; }
+ public System.Action, string> OAuthBearerTokenRefreshHandler { get; set; }
+ protected System.Action StatisticsHandler { get; set; }
+ public virtual Confluent.Kafka.IAdminClient Build() { }
+ public Confluent.Kafka.AdminClientBuilder SetErrorHandler(System.Action errorHandler) { }
+ public Confluent.Kafka.AdminClientBuilder SetLogHandler(System.Action logHandler) { }
+ public Confluent.Kafka.AdminClientBuilder SetOAuthBearerTokenRefreshHandler(System.Action, string> oAuthBearerTokenRefreshHandler) { }
+ public Confluent.Kafka.AdminClientBuilder SetStatisticsHandler(System.Action statisticsHandler) { }
+ }
+ public class AdminClientConfig : Confluent.Kafka.ClientConfig
+ {
+ public AdminClientConfig() { }
+ public AdminClientConfig(Confluent.Kafka.ClientConfig config) { }
+ public AdminClientConfig(System.Collections.Generic.IDictionary config) { }
+ public Confluent.Kafka.AdminClientConfig ThrowIfContainsNonUserConfigurable() { }
+ }
+ public enum AutoOffsetReset
+ {
+ Latest = 0,
+ Earliest = 1,
+ Error = 2,
+ }
+ public enum BrokerAddressFamily
+ {
+ Any = 0,
+ V4 = 1,
+ V6 = 2,
+ }
+ public class BrokerMetadata
+ {
+ public BrokerMetadata(int brokerId, string host, int port) { }
+ public int BrokerId { get; }
+ public string Host { get; }
+ public int Port { get; }
+ public override string ToString() { }
+ }
+ public class ClientConfig : Confluent.Kafka.Config
+ {
+ public ClientConfig() { }
+ public ClientConfig(Confluent.Kafka.ClientConfig config) { }
+ public ClientConfig(System.Collections.Generic.IDictionary config) { }
+ public Confluent.Kafka.Acks? Acks { get; set; }
+ public bool? AllowAutoCreateTopics { get; set; }
+ public int? ApiVersionFallbackMs { get; set; }
+ public bool? ApiVersionRequest { get; set; }
+ public int? ApiVersionRequestTimeoutMs { get; set; }
+ public string BootstrapServers { get; set; }
+ public Confluent.Kafka.BrokerAddressFamily? BrokerAddressFamily { get; set; }
+ public int? BrokerAddressTtl { get; set; }
+ public string BrokerVersionFallback { get; set; }
+ public Confluent.Kafka.ClientDnsLookup? ClientDnsLookup { get; set; }
+ public string ClientId { get; set; }
+ public string ClientRack { get; set; }
+ public int? ConnectionsMaxIdleMs { get; set; }
+ public string Debug { get; set; }
+ public bool? EnableRandomSeed { get; set; }
+ public bool? EnableSaslOauthbearerUnsecureJwt { get; set; }
+ public bool? EnableSslCertificateVerification { get; set; }
+ public int? InternalTerminationSignal { get; set; }
+ public bool? LogConnectionClose { get; set; }
+ public bool? LogQueue { get; set; }
+ public bool? LogThreadName { get; set; }
+ public int? MaxInFlight { get; set; }
+ public int? MessageCopyMaxBytes { get; set; }
+ public int? MessageMaxBytes { get; set; }
+ public int? MetadataMaxAgeMs { get; set; }
+ public string PluginLibraryPaths { get; set; }
+ public int? ReceiveMessageMaxBytes { get; set; }
+ public int? ReconnectBackoffMaxMs { get; set; }
+ public int? ReconnectBackoffMs { get; set; }
+ public string SaslKerberosKeytab { get; set; }
+ public string SaslKerberosKinitCmd { get; set; }
+ public int? SaslKerberosMinTimeBeforeRelogin { get; set; }
+ public string SaslKerberosPrincipal { get; set; }
+ public string SaslKerberosServiceName { get; set; }
+ public Confluent.Kafka.SaslMechanism? SaslMechanism { get; set; }
+ public string SaslOauthbearerClientId { get; set; }
+ public string SaslOauthbearerClientSecret { get; set; }
+ public string SaslOauthbearerConfig { get; set; }
+ public string SaslOauthbearerExtensions { get; set; }
+ public Confluent.Kafka.SaslOauthbearerMethod? SaslOauthbearerMethod { get; set; }
+ public string SaslOauthbearerScope { get; set; }
+ public string SaslOauthbearerTokenEndpointUrl { get; set; }
+ public string SaslPassword { get; set; }
+ public string SaslUsername { get; set; }
+ public Confluent.Kafka.SecurityProtocol? SecurityProtocol { get; set; }
+ public int? SocketConnectionSetupTimeoutMs { get; set; }
+ public bool? SocketKeepaliveEnable { get; set; }
+ public int? SocketMaxFails { get; set; }
+ public bool? SocketNagleDisable { get; set; }
+ public int? SocketReceiveBufferBytes { get; set; }
+ public int? SocketSendBufferBytes { get; set; }
+ public int? SocketTimeoutMs { get; set; }
+ public string SslCaCertificateStores { get; set; }
+ public string SslCaLocation { get; set; }
+ public string SslCaPem { get; set; }
+ public string SslCertificateLocation { get; set; }
+ public string SslCertificatePem { get; set; }
+ public string SslCipherSuites { get; set; }
+ public string SslCrlLocation { get; set; }
+ public string SslCurvesList { get; set; }
+ public Confluent.Kafka.SslEndpointIdentificationAlgorithm? SslEndpointIdentificationAlgorithm { get; set; }
+ public string SslEngineId { get; set; }
+ public string SslEngineLocation { get; set; }
+ public string SslKeyLocation { get; set; }
+ public string SslKeyPassword { get; set; }
+ public string SslKeyPem { get; set; }
+ public string SslKeystoreLocation { get; set; }
+ public string SslKeystorePassword { get; set; }
+ public string SslProviders { get; set; }
+ public string SslSigalgsList { get; set; }
+ public int? StatisticsIntervalMs { get; set; }
+ public string TopicBlacklist { get; set; }
+ public int? TopicMetadataPropagationMaxMs { get; set; }
+ public int? TopicMetadataRefreshFastIntervalMs { get; set; }
+ public int? TopicMetadataRefreshIntervalMs { get; set; }
+ public bool? TopicMetadataRefreshSparse { get; set; }
+ }
+ public enum ClientDnsLookup
+ {
+ UseAllDnsIps = 0,
+ ResolveCanonicalBootstrapServersOnly = 1,
+ }
+ public static class ClientExtensions
+ {
+ public static void OAuthBearerSetToken(this Confluent.Kafka.IClient client, string tokenValue, long lifetimeMs, string principalName, System.Collections.Generic.IDictionary extensions = null) { }
+ public static void OAuthBearerSetTokenFailure(this Confluent.Kafka.IClient client, string error) { }
+ }
+ public class CommittedOffsets
+ {
+ public CommittedOffsets(System.Collections.Generic.IList offsets, Confluent.Kafka.Error error) { }
+ public Confluent.Kafka.Error Error { get; }
+ public System.Collections.Generic.IList Offsets { get; }
+ }
+ public enum CompressionType
+ {
+ None = 0,
+ Gzip = 1,
+ Snappy = 2,
+ Lz4 = 3,
+ Zstd = 4,
+ }
+ public class Config : System.Collections.Generic.IEnumerable>, System.Collections.IEnumerable
+ {
+ protected System.Collections.Generic.IDictionary properties;
+ public Config() { }
+ public Config(Confluent.Kafka.Config config) { }
+ public Config(System.Collections.Generic.IDictionary config) { }
+ public int CancellationDelayMaxMs { set; }
+ public string Get(string key) { }
+ protected bool? GetBool(string key) { }
+ protected double? GetDouble(string key) { }
+ protected object GetEnum(System.Type type, string key) { }
+ public System.Collections.Generic.IEnumerator> GetEnumerator() { }
+ protected int? GetInt(string key) { }
+ public void Set(string key, string val) { }
+ protected void SetObject(string name, object val) { }
+ }
+ public static class ConfigPropertyNames
+ {
+ public const string CancellationDelayMaxMs = "dotnet.cancellation.delay.max.ms";
+ public static class Consumer
+ {
+ public const string ConsumeResultFields = "dotnet.consumer.consume.result.fields";
+ }
+ public static class Producer
+ {
+ public const string DeliveryReportFields = "dotnet.producer.delivery.report.fields";
+ public const string EnableBackgroundPoll = "dotnet.producer.enable.background.poll";
+ public const string EnableDeliveryReports = "dotnet.producer.enable.delivery.reports";
+ }
+ }
+ public class ConsumeException : Confluent.Kafka.KafkaException
+ {
+ public ConsumeException(Confluent.Kafka.ConsumeResult consumerRecord, Confluent.Kafka.Error error) { }
+ public ConsumeException(Confluent.Kafka.ConsumeResult consumerRecord, Confluent.Kafka.Error error, System.Exception innerException) { }
+ public Confluent.Kafka.ConsumeResult ConsumerRecord { get; }
+ }
+ public class ConsumeResult
+ {
+ public ConsumeResult() { }
+ [System.Obsolete("Please access the message Headers via .Message.Headers.")]
+ public Confluent.Kafka.Headers Headers { get; }
+ public bool IsPartitionEOF { get; set; }
+ [System.Obsolete("Please access the message Key via .Message.Key.")]
+ public TKey Key { get; }
+ public int? LeaderEpoch { get; set; }
+ public Confluent.Kafka.Message Message { get; set; }
+ public Confluent.Kafka.Offset Offset { get; set; }
+ public Confluent.Kafka.Partition Partition { get; set; }
+ [System.Obsolete("Please access the message Timestamp via .Message.Timestamp.")]
+ public Confluent.Kafka.Timestamp Timestamp { get; }
+ public string Topic { get; set; }
+ public Confluent.Kafka.TopicPartition TopicPartition { get; }
+ public Confluent.Kafka.TopicPartitionOffset TopicPartitionOffset { get; set; }
+ [System.Obsolete("Please access the message Value via .Message.Value.")]
+ public TValue Value { get; }
+ }
+ public class ConsumerBuilder
+ {
+ protected bool RevokedOrLostHandlerIsFunc;
+ public ConsumerBuilder(System.Collections.Generic.IEnumerable> config) { }
+ protected System.Collections.Generic.IEnumerable> Config { get; set; }
+ protected System.Action, Confluent.Kafka.Error> ErrorHandler { get; set; }
+ protected Confluent.Kafka.IDeserializer KeyDeserializer { get; set; }
+ protected System.Action, Confluent.Kafka.LogMessage> LogHandler { get; set; }
+ protected System.Action, string> OAuthBearerTokenRefreshHandler { get; set; }
+ protected System.Action, Confluent.Kafka.CommittedOffsets> OffsetsCommittedHandler { get; set; }
+ protected System.Func, System.Collections.Generic.List, System.Collections.Generic.IEnumerable> PartitionsAssignedHandler { get; set; }
+ protected System.Func, System.Collections.Generic.List, System.Collections.Generic.IEnumerable> PartitionsLostHandler { get; set; }
+ protected System.Func, System.Collections.Generic.List, System.Collections.Generic.IEnumerable> PartitionsRevokedHandler { get; set; }
+ protected System.Action, string> StatisticsHandler { get; set; }
+ protected Confluent.Kafka.IDeserializer ValueDeserializer { get; set; }
+ public virtual Confluent.Kafka.IConsumer Build() { }
+ public Confluent.Kafka.ConsumerBuilder SetErrorHandler(System.Action, Confluent.Kafka.Error> errorHandler) { }
+ public Confluent.Kafka.ConsumerBuilder SetKeyDeserializer(Confluent.Kafka.IDeserializer deserializer) { }
+ public Confluent.Kafka.ConsumerBuilder SetLogHandler(System.Action, Confluent.Kafka.LogMessage> logHandler) { }
+ public Confluent.Kafka.ConsumerBuilder SetOAuthBearerTokenRefreshHandler(System.Action, string> oAuthBearerTokenRefreshHandler) { }
+ public Confluent.Kafka.ConsumerBuilder SetOffsetsCommittedHandler(System.Action, Confluent.Kafka.CommittedOffsets> offsetsCommittedHandler) { }
+ public Confluent.Kafka.ConsumerBuilder SetPartitionsAssignedHandler(System.Action, System.Collections.Generic.List> partitionAssignmentHandler) { }
+ public Confluent.Kafka.ConsumerBuilder SetPartitionsAssignedHandler(System.Func, System.Collections.Generic.List, System.Collections.Generic.IEnumerable> partitionsAssignedHandler) { }
+ public Confluent.Kafka.ConsumerBuilder SetPartitionsLostHandler(System.Action, System.Collections.Generic.List> partitionsLostHandler) { }
+ public Confluent.Kafka.ConsumerBuilder SetPartitionsLostHandler(System.Func, System.Collections.Generic.List, System.Collections.Generic.IEnumerable> partitionsLostHandler) { }
+ public Confluent.Kafka.ConsumerBuilder SetPartitionsRevokedHandler(System.Action, System.Collections.Generic.List> partitionsRevokedHandler) { }
+ public Confluent.Kafka.ConsumerBuilder SetPartitionsRevokedHandler(System.Func, System.Collections.Generic.List, System.Collections.Generic.IEnumerable> partitionsRevokedHandler) { }
+ public Confluent.Kafka.ConsumerBuilder SetStatisticsHandler(System.Action, string> statisticsHandler) { }
+ public Confluent.Kafka.ConsumerBuilder SetValueDeserializer(Confluent.Kafka.IDeserializer deserializer) { }
+ }
+ public class ConsumerConfig : Confluent.Kafka.ClientConfig
+ {
+ public ConsumerConfig() { }
+ public ConsumerConfig(Confluent.Kafka.ClientConfig config) { }
+ public ConsumerConfig(System.Collections.Generic.IDictionary config) { }
+ public int? AutoCommitIntervalMs { get; set; }
+ public Confluent.Kafka.AutoOffsetReset? AutoOffsetReset { get; set; }
+ public bool? CheckCrcs { get; set; }
+ public string ConsumeResultFields { set; }
+ public int? CoordinatorQueryIntervalMs { get; set; }
+ public bool? EnableAutoCommit { get; set; }
+ public bool? EnableAutoOffsetStore { get; set; }
+ public bool? EnablePartitionEof { get; set; }
+ public int? FetchErrorBackoffMs { get; set; }
+ public int? FetchMaxBytes { get; set; }
+ public int? FetchMinBytes { get; set; }
+ public int? FetchQueueBackoffMs { get; set; }
+ public int? FetchWaitMaxMs { get; set; }
+ public string GroupId { get; set; }
+ public string GroupInstanceId { get; set; }
+ public string GroupProtocolType { get; set; }
+ public int? HeartbeatIntervalMs { get; set; }
+ public Confluent.Kafka.IsolationLevel? IsolationLevel { get; set; }
+ public int? MaxPartitionFetchBytes { get; set; }
+ public int? MaxPollIntervalMs { get; set; }
+ public Confluent.Kafka.PartitionAssignmentStrategy? PartitionAssignmentStrategy { get; set; }
+ public int? QueuedMaxMessagesKbytes { get; set; }
+ public int? QueuedMinMessages { get; set; }
+ public int? SessionTimeoutMs { get; set; }
+ public Confluent.Kafka.ConsumerConfig ThrowIfContainsNonUserConfigurable() { }
+ }
+ public enum ConsumerGroupState
+ {
+ Unknown = 0,
+ PreparingRebalance = 1,
+ CompletingRebalance = 2,
+ Stable = 3,
+ Dead = 4,
+ Empty = 5,
+ }
+ public class ConsumerGroupTopicPartitionOffsets
+ {
+ public ConsumerGroupTopicPartitionOffsets(string group, System.Collections.Generic.List topicPartitionOffsets) { }
+ public string Group { get; }
+ public System.Collections.Generic.List TopicPartitionOffsets { get; }
+ public override string ToString() { }
+ }
+ public class ConsumerGroupTopicPartitions
+ {
+ public ConsumerGroupTopicPartitions(string group, System.Collections.Generic.List topicPartitions) { }
+ public string Group { get; }
+ public System.Collections.Generic.List TopicPartitions { get; }
+ public override string ToString() { }
+ }
+ public class DeliveryReport : Confluent.Kafka.DeliveryResult
+ {
+ public DeliveryReport() { }
+ public Confluent.Kafka.Error Error { get; set; }
+ public Confluent.Kafka.TopicPartitionOffsetError TopicPartitionOffsetError { get; set; }
+ }
+ public class DeliveryResult
+ {
+ public DeliveryResult() { }
+ public Confluent.Kafka.Headers Headers { get; set; }
+ public TKey Key { get; set; }
+ public Confluent.Kafka.Message Message { get; set; }
+ public Confluent.Kafka.Offset Offset { get; set; }
+ public Confluent.Kafka.Partition Partition { get; set; }
+ public Confluent.Kafka.PersistenceStatus Status { get; set; }
+ public Confluent.Kafka.Timestamp Timestamp { get; set; }
+ public string Topic { get; set; }
+ public Confluent.Kafka.TopicPartition TopicPartition { get; }
+ public Confluent.Kafka.TopicPartitionOffset TopicPartitionOffset { get; set; }
+ public TValue Value { get; set; }
+ }
+ public class DependentAdminClientBuilder
+ {
+ public DependentAdminClientBuilder(Confluent.Kafka.Handle handle) { }
+ public Confluent.Kafka.Handle Handle { get; set; }
+ public virtual Confluent.Kafka.IAdminClient Build() { }
+ }
+ public class DependentProducerBuilder
+ {
+ public DependentProducerBuilder(Confluent.Kafka.Handle handle) { }
+ public Confluent.Kafka.IAsyncSerializer AsyncKeySerializer { get; set; }
+ public Confluent.Kafka.IAsyncSerializer AsyncValueSerializer { get; set; }
+ public Confluent.Kafka.Handle Handle { get; set; }
+ public Confluent.Kafka.ISerializer KeySerializer { get; set; }
+ public Confluent.Kafka.ISerializer ValueSerializer { get; set; }
+ public virtual Confluent.Kafka.IProducer Build() { }
+ public Confluent.Kafka.DependentProducerBuilder SetKeySerializer(Confluent.Kafka.IAsyncSerializer serializer) { }
+ public Confluent.Kafka.DependentProducerBuilder SetKeySerializer(Confluent.Kafka.ISerializer serializer) { }
+ public Confluent.Kafka.DependentProducerBuilder SetValueSerializer(Confluent.Kafka.IAsyncSerializer serializer) { }
+ public Confluent.Kafka.DependentProducerBuilder SetValueSerializer(Confluent.Kafka.ISerializer serializer) { }
+ }
+ public static class Deserializers
+ {
+ public static Confluent.Kafka.IDeserializer ByteArray;
+ public static Confluent.Kafka.IDeserializer Double;
+ public static Confluent.Kafka.IDeserializer Ignore;
+ public static Confluent.Kafka.IDeserializer Int32;
+ public static Confluent.Kafka.IDeserializer Int64;
+ public static Confluent.Kafka.IDeserializer Null;
+ public static Confluent.Kafka.IDeserializer Single;
+ public static Confluent.Kafka.IDeserializer Utf8;
+ }
+ public class Error
+ {
+ public Error(Confluent.Kafka.Error error) { }
+ public Error(Confluent.Kafka.ErrorCode code) { }
+ public Error(Confluent.Kafka.ErrorCode code, string reason) { }
+ public Error(Confluent.Kafka.ErrorCode code, string reason, bool isFatal) { }
+ public Confluent.Kafka.ErrorCode Code { get; }
+ public bool IsBrokerError { get; }
+ public bool IsError { get; }
+ public bool IsFatal { get; }
+ public bool IsLocalError { get; }
+ public string Reason { get; }
+ public override bool Equals(object obj) { }
+ public override int GetHashCode() { }
+ public override string ToString() { }
+ public static Confluent.Kafka.ErrorCode op_Implicit(Confluent.Kafka.Error e) { }
+ public static Confluent.Kafka.Error op_Implicit(Confluent.Kafka.ErrorCode c) { }
+ public static bool operator !=(Confluent.Kafka.Error a, Confluent.Kafka.Error b) { }
+ public static bool operator ==(Confluent.Kafka.Error a, Confluent.Kafka.Error b) { }
+ }
+ public enum ErrorCode
+ {
+ Local_BadMsg = -199,
+ Local_BadCompression = -198,
+ Local_Destroy = -197,
+ Local_Fail = -196,
+ Local_Transport = -195,
+ Local_CritSysResource = -194,
+ Local_Resolve = -193,
+ Local_MsgTimedOut = -192,
+ Local_PartitionEOF = -191,
+ Local_UnknownPartition = -190,
+ Local_FS = -189,
+ Local_UnknownTopic = -188,
+ Local_AllBrokersDown = -187,
+ Local_InvalidArg = -186,
+ Local_TimedOut = -185,
+ Local_QueueFull = -184,
+ Local_IsrInsuff = -183,
+ Local_NodeUpdate = -182,
+ Local_Ssl = -181,
+ Local_WaitCoord = -180,
+ Local_UnknownGroup = -179,
+ Local_InProgress = -178,
+ Local_PrevInProgress = -177,
+ Local_ExistingSubscription = -176,
+ Local_AssignPartitions = -175,
+ Local_RevokePartitions = -174,
+ Local_Conflict = -173,
+ Local_State = -172,
+ Local_UnknownProtocol = -171,
+ Local_NotImplemented = -170,
+ Local_Authentication = -169,
+ Local_NoOffset = -168,
+ Local_Outdated = -167,
+ Local_TimedOutQueue = -166,
+ Local_UnsupportedFeature = -165,
+ Local_WaitCache = -164,
+ Local_Intr = -163,
+ Local_KeySerialization = -162,
+ Local_ValueSerialization = -161,
+ Local_KeyDeserialization = -160,
+ Local_ValueDeserialization = -159,
+ Local_Partial = -158,
+ Local_ReadOnly = -157,
+ Local_NoEnt = -156,
+ Local_Underflow = -155,
+ Local_InvalidType = -154,
+ Local_Retry = -153,
+ Local_PurgeQueue = -152,
+ Local_PurgeInflight = -151,
+ Local_Fatal = -150,
+ Local_Inconsistent = -149,
+ Local_GaplessGuarantee = -148,
+ Local_MaxPollExceeded = -147,
+ Local_UnknownBroker = -146,
+ Local_NotConfigured = -145,
+ Local_Fenced = -144,
+ Local_Application = -143,
+ Local_AssignmentLost = -142,
+ Local_Noop = -141,
+ Local_AutoOffsetReset = -140,
+ Local_LogTruncation = -139,
+ Unknown = -1,
+ NoError = 0,
+ OffsetOutOfRange = 1,
+ InvalidMsg = 2,
+ UnknownTopicOrPart = 3,
+ InvalidMsgSize = 4,
+ LeaderNotAvailable = 5,
+ NotLeaderForPartition = 6,
+ RequestTimedOut = 7,
+ BrokerNotAvailable = 8,
+ ReplicaNotAvailable = 9,
+ MsgSizeTooLarge = 10,
+ StaleCtrlEpoch = 11,
+ OffsetMetadataTooLarge = 12,
+ NetworkException = 13,
+ [System.Obsolete("Superseded by GroupLoadInProgress")]
+ GroupLoadInProress = 14,
+ GroupLoadInProgress = 14,
+ GroupCoordinatorNotAvailable = 15,
+ NotCoordinatorForGroup = 16,
+ TopicException = 17,
+ RecordListTooLarge = 18,
+ NotEnoughReplicas = 19,
+ NotEnoughReplicasAfterAppend = 20,
+ InvalidRequiredAcks = 21,
+ IllegalGeneration = 22,
+ InconsistentGroupProtocol = 23,
+ InvalidGroupId = 24,
+ UnknownMemberId = 25,
+ InvalidSessionTimeout = 26,
+ RebalanceInProgress = 27,
+ InvalidCommitOffsetSize = 28,
+ TopicAuthorizationFailed = 29,
+ GroupAuthorizationFailed = 30,
+ ClusterAuthorizationFailed = 31,
+ InvalidTimestamp = 32,
+ UnsupportedSaslMechanism = 33,
+ IllegalSaslState = 34,
+ UnsupportedVersion = 35,
+ TopicAlreadyExists = 36,
+ InvalidPartitions = 37,
+ InvalidReplicationFactor = 38,
+ InvalidReplicaAssignment = 39,
+ InvalidConfig = 40,
+ NotController = 41,
+ InvalidRequest = 42,
+ UnsupportedForMessageFormat = 43,
+ PolicyViolation = 44,
+ OutOfOrderSequenceNumber = 45,
+ DuplicateSequenceNumber = 46,
+ InvalidProducerEpoch = 47,
+ InvalidTxnState = 48,
+ InvalidProducerIdMapping = 49,
+ InvalidTransactionTimeout = 50,
+ ConcurrentTransactions = 51,
+ TransactionCoordinatorFenced = 52,
+ TransactionalIdAuthorizationFailed = 53,
+ SecurityDisabled = 54,
+ OperationNotAttempted = 55,
+ KafkaStorageError = 56,
+ LogDirNotFound = 57,
+ SaslAuthenticationFailed = 58,
+ UnknownProducerId = 59,
+ ReassignmentInProgress = 60,
+ DelegationTokenAuthDisabled = 61,
+ DelegationTokenNotFound = 62,
+ DelegationTokenOwnerMismatch = 63,
+ DelegationTokenRequestNotAllowed = 64,
+ DelegationTokenAuthorizationFailed = 65,
+ DelegationTokenExpired = 66,
+ InvalidPrincipalType = 67,
+ NonEmptyGroup = 68,
+ GroupIdNotFound = 69,
+ FetchSessionIdNotFound = 70,
+ InvalidFetchSessionEpoch = 71,
+ ListenerNotFound = 72,
+ TopicDeletionDisabled = 73,
+ FencedLeaderEpoch = 74,
+ UnknownLeaderEpoch = 75,
+ UnsupportedCompressionType = 76,
+ StaleBrokerEpoch = 77,
+ OffsetNotAvailable = 78,
+ MemberIdRequired = 79,
+ PreferredLeaderNotAvailable = 80,
+ GroupMaxSizeReached = 81,
+ FencedInstanceId = 82,
+ EligibleLeadersNotAvailable = 83,
+ ElectionNotNeeded = 84,
+ NoReassignmentInProgress = 85,
+ GroupSubscribedToTopic = 86,
+ InvalidRecord = 87,
+ UnstableOffsetCommit = 88,
+ ThrottlingQuotaExceeded = 89,
+ ProducerFenced = 90,
+ ResourceNotFound = 91,
+ DuplicateResource = 92,
+ UnacceptableCredential = 93,
+ InconsistentVoterSet = 94,
+ InvalidUpdateVersion = 95,
+ FeatureUpdateFailed = 96,
+ PrincipalDeserializationFailure = 97,
+ }
+ public static class ErrorCodeExtensions
+ {
+ public static string GetReason(this Confluent.Kafka.ErrorCode code) { }
+ }
+ public class GroupInfo
+ {
+ public GroupInfo(Confluent.Kafka.BrokerMetadata broker, string group, Confluent.Kafka.Error error, string state, string protocolType, string protocol, System.Collections.Generic.List members) { }
+ public Confluent.Kafka.BrokerMetadata Broker { get; }
+ public Confluent.Kafka.Error Error { get; }
+ public string Group { get; }
+ public System.Collections.Generic.List Members { get; }
+ public string Protocol { get; }
+ public string ProtocolType { get; }
+ public string State { get; }
+ }
+ public class GroupMemberInfo
+ {
+ public GroupMemberInfo(string memberId, string clientId, string clientHost, byte[] memberMetadata, byte[] memberAssignment) { }
+ public string ClientHost { get; }
+ public string ClientId { get; }
+ public byte[] MemberAssignment { get; }
+ public string MemberId { get; }
+ public byte[] MemberMetadata { get; }
+ }
+ public class Handle
+ {
+ public Handle() { }
+ public bool IsInvalid { get; }
+ }
+ public class Header : Confluent.Kafka.IHeader
+ {
+ public Header(string key, byte[] value) { }
+ public string Key { get; }
+ public byte[] GetValueBytes() { }
+ }
+ public class Headers : System.Collections.Generic.IEnumerable, System.Collections.IEnumerable
+ {
+ public Headers() { }
+ public System.Collections.Generic.IReadOnlyList BackingList { get; }
+ public int Count { get; }
+ public Confluent.Kafka.IHeader this[int index] { get; }
+ public void Add(Confluent.Kafka.Header header) { }
+ public void Add(string key, byte[] val) { }
+ public System.Collections.Generic.IEnumerator GetEnumerator() { }
+ public byte[] GetLastBytes(string key) { }
+ public void Remove(string key) { }
+ public bool TryGetLastBytes(string key, out byte[] lastHeader) { }
+ }
+ public interface IAdminClient : Confluent.Kafka.IClient, System.IDisposable
+ {
+ System.Threading.Tasks.Task AlterConfigsAsync(System.Collections.Generic.Dictionary> configs, Confluent.Kafka.Admin.AlterConfigsOptions options = null);
+ System.Threading.Tasks.Task> AlterConsumerGroupOffsetsAsync(System.Collections.Generic.IEnumerable groupPartitions, Confluent.Kafka.Admin.AlterConsumerGroupOffsetsOptions options = null);
+ System.Threading.Tasks.Task AlterUserScramCredentialsAsync(System.Collections.Generic.IEnumerable alterations, Confluent.Kafka.Admin.AlterUserScramCredentialsOptions options = null);
+ System.Threading.Tasks.Task CreateAclsAsync(System.Collections.Generic.IEnumerable aclBindings, Confluent.Kafka.Admin.CreateAclsOptions options = null);
+ System.Threading.Tasks.Task CreatePartitionsAsync(System.Collections.Generic.IEnumerable partitionsSpecifications, Confluent.Kafka.Admin.CreatePartitionsOptions options = null);
+ System.Threading.Tasks.Task CreateTopicsAsync(System.Collections.Generic.IEnumerable topics, Confluent.Kafka.Admin.CreateTopicsOptions options = null);
+ System.Threading.Tasks.Task> DeleteAclsAsync(System.Collections.Generic.IEnumerable aclBindingFilters, Confluent.Kafka.Admin.DeleteAclsOptions options = null);
+ System.Threading.Tasks.Task DeleteConsumerGroupOffsetsAsync(string group, System.Collections.Generic.IEnumerable partitions, Confluent.Kafka.Admin.DeleteConsumerGroupOffsetsOptions options = null);
+ System.Threading.Tasks.Task DeleteGroupsAsync(System.Collections.Generic.IList groups, Confluent.Kafka.Admin.DeleteGroupsOptions options = null);
+ System.Threading.Tasks.Task> DeleteRecordsAsync(System.Collections.Generic.IEnumerable topicPartitionOffsets, Confluent.Kafka.Admin.DeleteRecordsOptions options = null);
+ System.Threading.Tasks.Task DeleteTopicsAsync(System.Collections.Generic.IEnumerable topics, Confluent.Kafka.Admin.DeleteTopicsOptions options = null);
+ System.Threading.Tasks.Task DescribeAclsAsync(Confluent.Kafka.Admin.AclBindingFilter aclBindingFilter, Confluent.Kafka.Admin.DescribeAclsOptions options = null);
+ System.Threading.Tasks.Task> DescribeConfigsAsync(System.Collections.Generic.IEnumerable resources, Confluent.Kafka.Admin.DescribeConfigsOptions options = null);
+ System.Threading.Tasks.Task DescribeConsumerGroupsAsync(System.Collections.Generic.IEnumerable groups, Confluent.Kafka.Admin.DescribeConsumerGroupsOptions options = null);
+ System.Threading.Tasks.Task DescribeUserScramCredentialsAsync(System.Collections.Generic.IEnumerable users, Confluent.Kafka.Admin.DescribeUserScramCredentialsOptions options = null);
+ Confluent.Kafka.Metadata GetMetadata(System.TimeSpan timeout);
+ Confluent.Kafka.Metadata GetMetadata(string topic, System.TimeSpan timeout);
+ System.Threading.Tasks.Task> IncrementalAlterConfigsAsync(System.Collections.Generic.Dictionary> configs, Confluent.Kafka.Admin.IncrementalAlterConfigsOptions options = null);
+ System.Threading.Tasks.Task> ListConsumerGroupOffsetsAsync(System.Collections.Generic.IEnumerable groupPartitions, Confluent.Kafka.Admin.ListConsumerGroupOffsetsOptions options = null);
+ System.Threading.Tasks.Task ListConsumerGroupsAsync(Confluent.Kafka.Admin.ListConsumerGroupsOptions options = null);
+ Confluent.Kafka.GroupInfo ListGroup(string group, System.TimeSpan timeout);
+ System.Collections.Generic.List ListGroups(System.TimeSpan timeout);
+ }
+ public static class IAdminClientExtensions
+ {
+ public static System.Threading.Tasks.Task DescribeClusterAsync(this Confluent.Kafka.IAdminClient adminClient, Confluent.Kafka.Admin.DescribeClusterOptions options = null) { }
+ public static System.Threading.Tasks.Task DescribeTopicsAsync(this Confluent.Kafka.IAdminClient adminClient, Confluent.Kafka.TopicCollection topicCollection, Confluent.Kafka.Admin.DescribeTopicsOptions options = null) { }
+ public static System.Threading.Tasks.Task ListOffsetsAsync(this Confluent.Kafka.IAdminClient adminClient, System.Collections.Generic.IEnumerable topicPartitionOffsets, Confluent.Kafka.Admin.ListOffsetsOptions options = null) { }
+ }
+ public interface IAsyncDeserializer
+ {
+ System.Threading.Tasks.Task DeserializeAsync(System.ReadOnlyMemory data, bool isNull, Confluent.Kafka.SerializationContext context);
+ }
+ public interface IAsyncSerializer
+ {
+ System.Threading.Tasks.Task SerializeAsync(T data, Confluent.Kafka.SerializationContext context);
+ }
+ public interface IClient : System.IDisposable
+ {
+ Confluent.Kafka.Handle Handle { get; }
+ string Name { get; }
+ int AddBrokers(string brokers);
+ void SetSaslCredentials(string username, string password);
+ }
+ public static class IConsumerExtensions
+ {
+ public static Confluent.Kafka.TopicPartitionOffset PositionTopicPartitionOffset(this Confluent.Kafka.IConsumer consumer, Confluent.Kafka.TopicPartition partition) { }
+ }
+ public interface IConsumerGroupMetadata { }
+ public interface IConsumer : Confluent.Kafka.IClient, System.IDisposable
+ {
+ System.Collections.Generic.List Assignment { get; }
+ Confluent.Kafka.IConsumerGroupMetadata ConsumerGroupMetadata { get; }
+ string MemberId { get; }
+ System.Collections.Generic.List Subscription { get; }
+ void Assign(Confluent.Kafka.TopicPartition partition);
+ void Assign(Confluent.Kafka.TopicPartitionOffset partition);
+ void Assign(System.Collections.Generic.IEnumerable partitions);
+ void Assign(System.Collections.Generic.IEnumerable partitions);
+ void Close();
+ System.Collections.Generic.List Commit();
+ void Commit(Confluent.Kafka.ConsumeResult result);
+ void Commit(System.Collections.Generic.IEnumerable offsets);
+ System.Collections.Generic.List Committed(System.TimeSpan timeout);
+ System.Collections.Generic.List Committed(System.Collections.Generic.IEnumerable partitions, System.TimeSpan timeout);
+ Confluent.Kafka.ConsumeResult Consume(int millisecondsTimeout);
+ Confluent.Kafka.ConsumeResult Consume(System.Threading.CancellationToken cancellationToken = default);
+ Confluent.Kafka.ConsumeResult Consume(System.TimeSpan timeout);
+ Confluent.Kafka.WatermarkOffsets GetWatermarkOffsets(Confluent.Kafka.TopicPartition topicPartition);
+ void IncrementalAssign(System.Collections.Generic.IEnumerable partitions);
+ void IncrementalAssign(System.Collections.Generic.IEnumerable partitions);
+ void IncrementalUnassign(System.Collections.Generic.IEnumerable partitions);
+ System.Collections.Generic.List OffsetsForTimes(System.Collections.Generic.IEnumerable timestampsToSearch, System.TimeSpan timeout);
+ void Pause(System.Collections.Generic.IEnumerable partitions);
+ Confluent.Kafka.Offset Position(Confluent.Kafka.TopicPartition partition);
+ Confluent.Kafka.WatermarkOffsets QueryWatermarkOffsets(Confluent.Kafka.TopicPartition topicPartition, System.TimeSpan timeout);
+ void Resume(System.Collections.Generic.IEnumerable partitions);
+ void Seek(Confluent.Kafka.TopicPartitionOffset tpo);
+ void StoreOffset(Confluent.Kafka.ConsumeResult result);
+ void StoreOffset(Confluent.Kafka.TopicPartitionOffset offset);
+ void Subscribe(System.Collections.Generic.IEnumerable topics);
+ void Subscribe(string topic);
+ void Unassign();
+ void Unsubscribe();
+ }
+ public interface IDeserializer
+ {
+ T Deserialize(System.ReadOnlySpan data, bool isNull, Confluent.Kafka.SerializationContext context);
+ }
+ public interface IHeader
+ {
+ string Key { get; }
+ byte[] GetValueBytes();
+ }
+ public interface IProducer : Confluent.Kafka.IClient, System.IDisposable
+ {
+ void AbortTransaction();
+ void AbortTransaction(System.TimeSpan timeout);
+ void BeginTransaction();
+ void CommitTransaction();
+ void CommitTransaction(System.TimeSpan timeout);
+ void Flush(System.Threading.CancellationToken cancellationToken = default);
+ int Flush(System.TimeSpan timeout);
+ void InitTransactions(System.TimeSpan timeout);
+ int Poll(System.TimeSpan timeout);
+ void Produce(Confluent.Kafka.TopicPartition topicPartition, Confluent.Kafka.Message message, System.Action> deliveryHandler = null);
+ void Produce(string topic, Confluent.Kafka.Message message, System.Action> deliveryHandler = null);
+ System.Threading.Tasks.Task> ProduceAsync(Confluent.Kafka.TopicPartition topicPartition, Confluent.Kafka.Message message, System.Threading.CancellationToken cancellationToken = default);
+ System.Threading.Tasks.Task> ProduceAsync(string topic, Confluent.Kafka.Message message, System.Threading.CancellationToken cancellationToken = default);
+ void SendOffsetsToTransaction(System.Collections.Generic.IEnumerable offsets, Confluent.Kafka.IConsumerGroupMetadata groupMetadata, System.TimeSpan timeout);
+ }
+ public interface ISerializer
+ {
+ byte[] Serialize(T data, Confluent.Kafka.SerializationContext context);
+ }
+ public sealed class Ignore { }
+ public enum IsolationLevel
+ {
+ ReadUncommitted = 0,
+ ReadCommitted = 1,
+ }
+ public class KafkaException : System.Exception
+ {
+ public KafkaException(Confluent.Kafka.Error error) { }
+ public KafkaException(Confluent.Kafka.ErrorCode code) { }
+ public KafkaException(Confluent.Kafka.Error error, System.Exception innerException) { }
+ public Confluent.Kafka.Error Error { get; }
+ }
+ public class KafkaRetriableException : Confluent.Kafka.KafkaException
+ {
+ public KafkaRetriableException(Confluent.Kafka.Error error) { }
+ }
+ public class KafkaTxnRequiresAbortException : Confluent.Kafka.KafkaException
+ {
+ public KafkaTxnRequiresAbortException(Confluent.Kafka.Error error) { }
+ }
+ public static class Library
+ {
+ public static string[] DebugContexts { get; }
+ public static int HandleCount { get; }
+ public static bool IsLoaded { get; }
+ public static int Version { get; }
+ public static string VersionString { get; }
+ public static bool Load() { }
+ public static bool Load(string path) { }
+ }
+ public enum LogLevelType
+ {
+ SysLogLevel = 1,
+ MicrosoftExtensionsLogging = 2,
+ SystemDiagnostics = 3,
+ }
+ public class LogMessage
+ {
+ public LogMessage(string name, Confluent.Kafka.SyslogLevel level, string facility, string message) { }
+ public string Facility { get; }
+ public Confluent.Kafka.SyslogLevel Level { get; }
+ public string Message { get; }
+ public string Name { get; }
+ public int LevelAs(Confluent.Kafka.LogLevelType type) { }
+ }
+ public static class Loggers
+ {
+ public static void ConsoleLogger(Confluent.Kafka.LogMessage logInfo) { }
+ }
+ public enum MessageComponentType
+ {
+ Key = 1,
+ Value = 2,
+ }
+ public class MessageMetadata
+ {
+ public MessageMetadata() { }
+ public Confluent.Kafka.Headers Headers { get; set; }
+ public Confluent.Kafka.Timestamp Timestamp { get; set; }
+ }
+ public class MessageNullException : System.NullReferenceException
+ {
+ public MessageNullException() { }
+ }
+ public class Message : Confluent.Kafka.MessageMetadata
+ {
+ public Message() { }
+ public TKey Key { get; set; }
+ public TValue Value { get; set; }
+ }
+ public class Metadata
+ {
+ public Metadata(System.Collections.Generic.List brokers, System.Collections.Generic.List topics, int originatingBrokerId, string originatingBrokerName) { }
+ public System.Collections.Generic.List Brokers { get; }
+ public int OriginatingBrokerId { get; }
+ public string OriginatingBrokerName { get; }
+ public System.Collections.Generic.List Topics { get; }
+ public override string ToString() { }
+ }
+ public class Node
+ {
+ public Node() { }
+ public string Host { get; set; }
+ public int Id { get; set; }
+ public int Port { get; set; }
+ public string Rack { get; set; }
+ public override string ToString() { }
+ }
+ public sealed class Null { }
+ public struct Offset : System.IEquatable
+ {
+ public static readonly Confluent.Kafka.Offset Beginning;
+ public static readonly Confluent.Kafka.Offset End;
+ public static readonly Confluent.Kafka.Offset Stored;
+ public static readonly Confluent.Kafka.Offset Unset;
+ public Offset(long offset) { }
+ public bool IsSpecial { get; }
+ public long Value { get; }
+ public bool Equals(Confluent.Kafka.Offset other) { }
+ public override bool Equals(object obj) { }
+ public override int GetHashCode() { }
+ public override string ToString() { }
+ public static long op_Implicit(Confluent.Kafka.Offset o) { }
+ public static Confluent.Kafka.Offset op_Implicit(long v) { }
+ public static bool operator !=(Confluent.Kafka.Offset a, Confluent.Kafka.Offset b) { }
+ public static Confluent.Kafka.Offset operator +(Confluent.Kafka.Offset a, int b) { }
+ public static Confluent.Kafka.Offset operator +(Confluent.Kafka.Offset a, long b) { }
+ public static bool operator <(Confluent.Kafka.Offset a, Confluent.Kafka.Offset b) { }
+ public static bool operator <=(Confluent.Kafka.Offset a, Confluent.Kafka.Offset b) { }
+ public static bool operator ==(Confluent.Kafka.Offset a, Confluent.Kafka.Offset b) { }
+ public static bool operator >(Confluent.Kafka.Offset a, Confluent.Kafka.Offset b) { }
+ public static bool operator >=(Confluent.Kafka.Offset a, Confluent.Kafka.Offset b) { }
+ }
+ public struct Partition : System.IEquatable
+ {
+ public static readonly Confluent.Kafka.Partition Any;
+ public Partition(int partition) { }
+ public bool IsSpecial { get; }
+ public int Value { get; }
+ public bool Equals(Confluent.Kafka.Partition other) { }
+ public override bool Equals(object obj) { }
+ public override int GetHashCode() { }
+ public override string ToString() { }
+ public static int op_Implicit(Confluent.Kafka.Partition o) { }
+ public static Confluent.Kafka.Partition op_Implicit(int v) { }
+ public static bool operator !=(Confluent.Kafka.Partition a, Confluent.Kafka.Partition b) { }
+ public static bool operator <(Confluent.Kafka.Partition a, Confluent.Kafka.Partition b) { }
+ public static bool operator <=(Confluent.Kafka.Partition a, Confluent.Kafka.Partition b) { }
+ public static bool operator ==(Confluent.Kafka.Partition a, Confluent.Kafka.Partition b) { }
+ public static bool operator >(Confluent.Kafka.Partition a, Confluent.Kafka.Partition b) { }
+ public static bool operator >=(Confluent.Kafka.Partition a, Confluent.Kafka.Partition b) { }
+ }
+ public enum PartitionAssignmentStrategy
+ {
+ Range = 0,
+ RoundRobin = 1,
+ CooperativeSticky = 2,
+ }
+ public class PartitionMetadata
+ {
+ public PartitionMetadata(int partitionId, int leader, int[] replicas, int[] inSyncReplicas, Confluent.Kafka.Error error) { }
+ public Confluent.Kafka.Error Error { get; }
+ public int[] InSyncReplicas { get; }
+ public int Leader { get; }
+ public int PartitionId { get; }
+ public int[] Replicas { get; }
+ public override string ToString() { }
+ }
+ public enum Partitioner
+ {
+ Random = 0,
+ Consistent = 1,
+ ConsistentRandom = 2,
+ Murmur2 = 3,
+ Murmur2Random = 4,
+ }
+ public delegate Confluent.Kafka.Partition PartitionerDelegate(string topic, int partitionCount, System.ReadOnlySpan keyData, bool keyIsNull);
+ public enum PersistenceStatus
+ {
+ NotPersisted = 0,
+ PossiblyPersisted = 1,
+ Persisted = 2,
+ }
+ public class ProduceException : Confluent.Kafka.KafkaException
+ {
+ public ProduceException(Confluent.Kafka.Error error, Confluent.Kafka.DeliveryResult deliveryResult) { }
+ public ProduceException(Confluent.Kafka.Error error, Confluent.Kafka.DeliveryResult deliveryResult, System.Exception innerException) { }
+ public Confluent.Kafka.DeliveryResult DeliveryResult { get; }
+ }
+ public class ProducerBuilder
+ {
+ public ProducerBuilder(System.Collections.Generic.IEnumerable> config) { }
+ protected Confluent.Kafka.IAsyncSerializer AsyncKeySerializer { get; set; }
+ protected Confluent.Kafka.IAsyncSerializer AsyncValueSerializer { get; set; }
+ protected System.Collections.Generic.IEnumerable> Config { get; set; }
+ protected Confluent.Kafka.PartitionerDelegate DefaultPartitioner { get; set; }
+ protected System.Action, Confluent.Kafka.Error> ErrorHandler { get; set; }
+ protected Confluent.Kafka.ISerializer KeySerializer { get; set; }
+ protected System.Action, Confluent.Kafka.LogMessage> LogHandler { get; set; }
+ protected System.Action, string> OAuthBearerTokenRefreshHandler { get; set; }
+ protected System.Collections.Generic.Dictionary Partitioners { get; set; }
+ protected System.Action, string> StatisticsHandler { get; set; }
+ protected Confluent.Kafka.ISerializer ValueSerializer { get; set; }
+ public virtual Confluent.Kafka.IProducer Build() { }
+ public Confluent.Kafka.ProducerBuilder SetDefaultPartitioner(Confluent.Kafka.PartitionerDelegate partitioner) { }
+ public Confluent.Kafka.ProducerBuilder SetErrorHandler(System.Action, Confluent.Kafka.Error> errorHandler) { }
+ public Confluent.Kafka.ProducerBuilder SetKeySerializer(Confluent.Kafka.IAsyncSerializer serializer) { }
+ public Confluent.Kafka.ProducerBuilder SetKeySerializer(Confluent.Kafka.ISerializer serializer) { }
+ public Confluent.Kafka.ProducerBuilder SetLogHandler(System.Action, Confluent.Kafka.LogMessage> logHandler) { }
+ public Confluent.Kafka.ProducerBuilder SetOAuthBearerTokenRefreshHandler(System.Action, string> oAuthBearerTokenRefreshHandler) { }
+ public Confluent.Kafka.ProducerBuilder SetPartitioner(string topic, Confluent.Kafka.PartitionerDelegate partitioner) { }
+ public Confluent.Kafka.ProducerBuilder SetStatisticsHandler(System.Action, string> statisticsHandler) { }
+ public Confluent.Kafka.ProducerBuilder SetValueSerializer(Confluent.Kafka.IAsyncSerializer serializer) { }
+ public Confluent.Kafka.ProducerBuilder SetValueSerializer(Confluent.Kafka.ISerializer serializer) { }
+ }
+ public class ProducerConfig : Confluent.Kafka.ClientConfig
+ {
+ public ProducerConfig() { }
+ public ProducerConfig(Confluent.Kafka.ClientConfig config) { }
+ public ProducerConfig(System.Collections.Generic.IDictionary config) { }
+ public int? BatchNumMessages { get; set; }
+ public int? BatchSize { get; set; }
+ public int? CompressionLevel { get; set; }
+ public Confluent.Kafka.CompressionType? CompressionType { get; set; }
+ public string DeliveryReportFields { get; set; }
+ public bool? EnableBackgroundPoll { get; set; }
+ public bool? EnableDeliveryReports { get; set; }
+ public bool? EnableGaplessGuarantee { get; set; }
+ public bool? EnableIdempotence { get; set; }
+ public double? LingerMs { get; set; }
+ public int? MessageSendMaxRetries { get; set; }
+ public int? MessageTimeoutMs { get; set; }
+ public Confluent.Kafka.Partitioner? Partitioner { get; set; }
+ public int? QueueBufferingBackpressureThreshold { get; set; }
+ public int? QueueBufferingMaxKbytes { get; set; }
+ public int? QueueBufferingMaxMessages { get; set; }
+ public int? RequestTimeoutMs { get; set; }
+ public int? RetryBackoffMaxMs { get; set; }
+ public int? RetryBackoffMs { get; set; }
+ public int? StickyPartitioningLingerMs { get; set; }
+ public int? TransactionTimeoutMs { get; set; }
+ public string TransactionalId { get; set; }
+ public Confluent.Kafka.ProducerConfig ThrowIfContainsNonUserConfigurable() { }
+ }
+ public enum SaslMechanism
+ {
+ Gssapi = 0,
+ Plain = 1,
+ ScramSha256 = 2,
+ ScramSha512 = 3,
+ OAuthBearer = 4,
+ }
+ public enum SaslOauthbearerMethod
+ {
+ Default = 0,
+ Oidc = 1,
+ }
+ public enum SecurityProtocol
+ {
+ Plaintext = 0,
+ Ssl = 1,
+ SaslPlaintext = 2,
+ SaslSsl = 3,
+ }
+ public struct SerializationContext
+ {
+ public SerializationContext(Confluent.Kafka.MessageComponentType component, string topic, Confluent.Kafka.Headers headers = null) { }
+ public Confluent.Kafka.MessageComponentType Component { get; }
+ public Confluent.Kafka.Headers Headers { get; }
+ public string Topic { get; }
+ public static Confluent.Kafka.SerializationContext Empty { get; }
+ }
+ public static class Serializers
+ {
+ public static Confluent.Kafka.ISerializer ByteArray;
+ public static Confluent.Kafka.ISerializer Double;
+ public static Confluent.Kafka.ISerializer Int32;
+ public static Confluent.Kafka.ISerializer Int64;
+ public static Confluent.Kafka.ISerializer Null;
+ public static Confluent.Kafka.ISerializer Single;
+ public static Confluent.Kafka.ISerializer Utf8;
+ }
+ public enum SslEndpointIdentificationAlgorithm
+ {
+ None = 0,
+ Https = 1,
+ }
+ public enum SyslogLevel
+ {
+ Emergency = 0,
+ Alert = 1,
+ Critical = 2,
+ Error = 3,
+ Warning = 4,
+ Notice = 5,
+ Info = 6,
+ Debug = 7,
+ }
+ public struct Timestamp : System.IEquatable
+ {
+ public static readonly System.DateTime UnixTimeEpoch;
+ public Timestamp(System.DateTime dateTime) { }
+ public Timestamp(System.DateTimeOffset dateTimeOffset) { }
+ public Timestamp(System.DateTime dateTime, Confluent.Kafka.TimestampType type) { }
+ public Timestamp(long unixTimestampMs, Confluent.Kafka.TimestampType type) { }
+ public Confluent.Kafka.TimestampType Type { get; }
+ public long UnixTimestampMs { get; }
+ public System.DateTime UtcDateTime { get; }
+ public static Confluent.Kafka.Timestamp Default { get; }
+ public bool Equals(Confluent.Kafka.Timestamp other) { }
+ public override bool Equals(object obj) { }
+ public override int GetHashCode() { }
+ public static long DateTimeToUnixTimestampMs(System.DateTime dateTime) { }
+ public static System.DateTime UnixTimestampMsToDateTime(long unixMillisecondsTimestamp) { }
+ public static bool operator !=(Confluent.Kafka.Timestamp a, Confluent.Kafka.Timestamp b) { }
+ public static bool operator ==(Confluent.Kafka.Timestamp a, Confluent.Kafka.Timestamp b) { }
+ }
+ public enum TimestampType
+ {
+ NotAvailable = 0,
+ CreateTime = 1,
+ LogAppendTime = 2,
+ }
+ public class TopicCollection
+ {
+ public override string ToString() { }
+ public static Confluent.Kafka.TopicCollection OfTopicNames(System.Collections.Generic.IEnumerable topics) { }
+ }
+ public class TopicMetadata
+ {
+ public TopicMetadata(string topic, System.Collections.Generic.List partitions, Confluent.Kafka.Error error) { }
+ public Confluent.Kafka.Error Error { get; }
+ public System.Collections.Generic.List Partitions { get; }
+ public string Topic { get; }
+ public override string ToString() { }
+ }
+ public class TopicPartition : System.IComparable
+ {
+ public TopicPartition(string topic, Confluent.Kafka.Partition partition) { }
+ public Confluent.Kafka.Partition Partition { get; }
+ public string Topic { get; }
+ public int CompareTo(object obj) { }
+ public override bool Equals(object obj) { }
+ public override int GetHashCode() { }
+ public override string ToString() { }
+ public static bool operator !=(Confluent.Kafka.TopicPartition a, Confluent.Kafka.TopicPartition b) { }
+ public static bool operator ==(Confluent.Kafka.TopicPartition a, Confluent.Kafka.TopicPartition b) { }
+ }
+ public class TopicPartitionError
+ {
+ public TopicPartitionError(Confluent.Kafka.TopicPartition tp, Confluent.Kafka.Error error) { }
+ public TopicPartitionError(string topic, Confluent.Kafka.Partition partition, Confluent.Kafka.Error error) { }
+ public Confluent.Kafka.Error Error { get; }
+ public Confluent.Kafka.Partition Partition { get; }
+ public string Topic { get; }
+ public Confluent.Kafka.TopicPartition TopicPartition { get; }
+ public override bool Equals(object obj) { }
+ public override int GetHashCode() { }
+ public override string ToString() { }
+ public static bool operator !=(Confluent.Kafka.TopicPartitionError a, Confluent.Kafka.TopicPartitionError b) { }
+ public static bool operator ==(Confluent.Kafka.TopicPartitionError a, Confluent.Kafka.TopicPartitionError b) { }
+ }
+ public class TopicPartitionException : Confluent.Kafka.KafkaException
+ {
+ public TopicPartitionException(System.Collections.Generic.List results) { }
+ public System.Collections.Generic.List Results { get; }
+ }
+ public class TopicPartitionInfo
+ {
+ public TopicPartitionInfo() { }
+ public System.Collections.Generic.List ISR { get; set; }
+ public Confluent.Kafka.Node Leader { get; set; }
+ public int Partition { get; set; }
+ public System.Collections.Generic.List Replicas { get; set; }
+ public override string ToString() { }
+ }
+ public class TopicPartitionOffset
+ {
+ public TopicPartitionOffset(Confluent.Kafka.TopicPartition tp, Confluent.Kafka.Offset offset) { }
+ public TopicPartitionOffset(Confluent.Kafka.TopicPartition tp, Confluent.Kafka.Offset offset, int? leaderEpoch) { }
+ public TopicPartitionOffset(string topic, Confluent.Kafka.Partition partition, Confluent.Kafka.Offset offset) { }
+ public TopicPartitionOffset(string topic, Confluent.Kafka.Partition partition, Confluent.Kafka.Offset offset, int? leaderEpoch) { }
+ public int? LeaderEpoch { get; }
+ public Confluent.Kafka.Offset Offset { get; }
+ public Confluent.Kafka.Partition Partition { get; }
+ public string Topic { get; }
+ public Confluent.Kafka.TopicPartition TopicPartition { get; }
+ public override bool Equals(object obj) { }
+ public override int GetHashCode() { }
+ public override string ToString() { }
+ public static bool operator !=(Confluent.Kafka.TopicPartitionOffset a, Confluent.Kafka.TopicPartitionOffset b) { }
+ public static bool operator ==(Confluent.Kafka.TopicPartitionOffset a, Confluent.Kafka.TopicPartitionOffset b) { }
+ }
+ public class TopicPartitionOffsetError
+ {
+ public TopicPartitionOffsetError(Confluent.Kafka.TopicPartitionOffset tpo, Confluent.Kafka.Error error) { }
+ public TopicPartitionOffsetError(Confluent.Kafka.TopicPartition tp, Confluent.Kafka.Offset offset, Confluent.Kafka.Error error, int? leaderEpoch = default) { }
+ public TopicPartitionOffsetError(string topic, Confluent.Kafka.Partition partition, Confluent.Kafka.Offset offset, Confluent.Kafka.Error error, int? leaderEpoch = default) { }
+ public Confluent.Kafka.Error Error { get; }
+ public int? LeaderEpoch { get; }
+ public Confluent.Kafka.Offset Offset { get; }
+ public Confluent.Kafka.Partition Partition { get; }
+ public string Topic { get; }
+ public Confluent.Kafka.TopicPartition TopicPartition { get; }
+ public Confluent.Kafka.TopicPartitionOffset TopicPartitionOffset { get; }
+ public override bool Equals(object obj) { }
+ public override int GetHashCode() { }
+ public override string ToString() { }
+ public static Confluent.Kafka.TopicPartitionOffset op_Explicit(Confluent.Kafka.TopicPartitionOffsetError tpoe) { }
+ public static bool operator !=(Confluent.Kafka.TopicPartitionOffsetError a, Confluent.Kafka.TopicPartitionOffsetError b) { }
+ public static bool operator ==(Confluent.Kafka.TopicPartitionOffsetError a, Confluent.Kafka.TopicPartitionOffsetError b) { }
+ }
+ public class TopicPartitionOffsetException : Confluent.Kafka.KafkaException
+ {
+ public TopicPartitionOffsetException(System.Collections.Generic.List results) { }
+ public System.Collections.Generic.List Results { get; }
+ }
+ public class TopicPartitionTimestamp
+ {
+ public TopicPartitionTimestamp(Confluent.Kafka.TopicPartition tp, Confluent.Kafka.Timestamp timestamp) { }
+ public TopicPartitionTimestamp(string topic, Confluent.Kafka.Partition partition, Confluent.Kafka.Timestamp timestamp) { }
+ public Confluent.Kafka.Partition Partition { get; }
+ public Confluent.Kafka.Timestamp Timestamp { get; }
+ public string Topic { get; }
+ public Confluent.Kafka.TopicPartition TopicPartition { get; }
+ public override bool Equals(object obj) { }
+ public override int GetHashCode() { }
+ public override string ToString() { }
+ public static bool operator !=(Confluent.Kafka.TopicPartitionTimestamp a, Confluent.Kafka.TopicPartitionTimestamp b) { }
+ public static bool operator ==(Confluent.Kafka.TopicPartitionTimestamp a, Confluent.Kafka.TopicPartitionTimestamp b) { }
+ }
+ public class Uuid
+ {
+ public Uuid(long mostSignificantBits, long leastSignificantBits) { }
+ public Confluent.Kafka.Offset LeastSignificantBits { get; }
+ public Confluent.Kafka.Offset MostSignificantBits { get; }
+ public override string ToString() { }
+ }
+ public class WatermarkOffsets
+ {
+ public WatermarkOffsets(Confluent.Kafka.Offset low, Confluent.Kafka.Offset high) { }
+ public Confluent.Kafka.Offset High { get; }
+ public Confluent.Kafka.Offset Low { get; }
+ public override string ToString() { }
+ }
+}
+namespace Confluent.Kafka.Admin
+{
+ public class AccessControlEntry
+ {
+ public AccessControlEntry() { }
+ public string Host { get; set; }
+ public Confluent.Kafka.Admin.AclOperation Operation { get; set; }
+ public Confluent.Kafka.Admin.AclPermissionType PermissionType { get; set; }
+ public string Principal { get; set; }
+ public Confluent.Kafka.Admin.AccessControlEntry Clone() { }
+ public override bool Equals(object obj) { }
+ public override int GetHashCode() { }
+ public Confluent.Kafka.Admin.AccessControlEntryFilter ToFilter() { }
+ public override string ToString() { }
+ public static bool operator !=(Confluent.Kafka.Admin.AccessControlEntry a, Confluent.Kafka.Admin.AccessControlEntry b) { }
+ public static bool operator ==(Confluent.Kafka.Admin.AccessControlEntry a, Confluent.Kafka.Admin.AccessControlEntry b) { }
+ }
+ public class AccessControlEntryFilter
+ {
+ public AccessControlEntryFilter() { }
+ public string Host { get; set; }
+ public Confluent.Kafka.Admin.AclOperation Operation { get; set; }
+ public Confluent.Kafka.Admin.AclPermissionType PermissionType { get; set; }
+ public string Principal { get; set; }
+ public Confluent.Kafka.Admin.AccessControlEntryFilter Clone() { }
+ public override bool Equals(object obj) { }
+ public override int GetHashCode() { }
+ public override string ToString() { }
+ public static bool operator !=(Confluent.Kafka.Admin.AccessControlEntryFilter a, Confluent.Kafka.Admin.AccessControlEntryFilter b) { }
+ public static bool operator ==(Confluent.Kafka.Admin.AccessControlEntryFilter a, Confluent.Kafka.Admin.AccessControlEntryFilter b) { }
+ }
+ public class AclBinding
+ {
+ public AclBinding() { }
+ public Confluent.Kafka.Admin.AccessControlEntry Entry { get; set; }
+ public Confluent.Kafka.Admin.ResourcePattern Pattern { get; set; }
+ public Confluent.Kafka.Admin.AclBinding Clone() { }
+ public override bool Equals(object obj) { }
+ public override int GetHashCode() { }
+ public Confluent.Kafka.Admin.AclBindingFilter ToFilter() { }
+ public override string ToString() { }
+ public static bool operator !=(Confluent.Kafka.Admin.AclBinding a, Confluent.Kafka.Admin.AclBinding b) { }
+ public static bool operator ==(Confluent.Kafka.Admin.AclBinding a, Confluent.Kafka.Admin.AclBinding b) { }
+ }
+ public class AclBindingFilter
+ {
+ public AclBindingFilter() { }
+ public Confluent.Kafka.Admin.AccessControlEntryFilter EntryFilter { get; set; }
+ public Confluent.Kafka.Admin.ResourcePatternFilter PatternFilter { get; set; }
+ public Confluent.Kafka.Admin.AclBindingFilter Clone() { }
+ public override bool Equals(object obj) { }
+ public override int GetHashCode() { }
+ public override string ToString() { }
+ public static bool operator !=(Confluent.Kafka.Admin.AclBindingFilter a, Confluent.Kafka.Admin.AclBindingFilter b) { }
+ public static bool operator ==(Confluent.Kafka.Admin.AclBindingFilter a, Confluent.Kafka.Admin.AclBindingFilter b) { }
+ }
+ public enum AclOperation
+ {
+ Unknown = 0,
+ Any = 1,
+ All = 2,
+ Read = 3,
+ Write = 4,
+ Create = 5,
+ Delete = 6,
+ Alter = 7,
+ Describe = 8,
+ ClusterAction = 9,
+ DescribeConfigs = 10,
+ AlterConfigs = 11,
+ IdempotentWrite = 12,
+ }
+ public enum AclPermissionType
+ {
+ Unknown = 0,
+ Any = 1,
+ Deny = 2,
+ Allow = 3,
+ }
+ public enum AlterConfigOpType
+ {
+ Set = 0,
+ Delete = 1,
+ Append = 2,
+ Subtract = 3,
+ }
+ public class AlterConfigsException : Confluent.Kafka.KafkaException
+ {
+ public AlterConfigsException(System.Collections.Generic.List results) { }
+ public System.Collections.Generic.List Results { get; }
+ }
+ public class AlterConfigsOptions
+ {
+ public AlterConfigsOptions() { }
+ public System.TimeSpan? RequestTimeout { get; set; }
+ public bool ValidateOnly { get; set; }
+ }
+ public class AlterConfigsReport
+ {
+ public Confluent.Kafka.Admin.ConfigResource ConfigResource;
+ public AlterConfigsReport() { }
+ public Confluent.Kafka.Error Error { get; set; }
+ }
+ public class AlterConsumerGroupOffsetsException : Confluent.Kafka.KafkaException
+ {
+ public AlterConsumerGroupOffsetsException(System.Collections.Generic.List results) { }
+ public System.Collections.Generic.List