CSharpTestBedAdapter 1.5.2019.1029
See the version list below for details.
dotnet add package CSharpTestBedAdapter --version 1.5.2019.1029
NuGet\Install-Package CSharpTestBedAdapter -Version 1.5.2019.1029
<PackageReference Include="CSharpTestBedAdapter" Version="1.5.2019.1029" />
paket add CSharpTestBedAdapter --version 1.5.2019.1029
#r "nuget: CSharpTestBedAdapter, 1.5.2019.1029"
// Install CSharpTestBedAdapter as a Cake Addin #addin nuget:?package=CSharpTestBedAdapter&version=1.5.2019.1029 // Install CSharpTestBedAdapter as a Cake Tool #tool nuget:?package=CSharpTestBedAdapter&version=1.5.2019.1029
csharp-test-bed-adapter
This is the C# Apache Kafka adapter created for the DRIVER-EU test-bed. This allows C# written programs to communicate over the test-bed.
The implementation is a wrapper around Confluent's .NET Client for Apache Kafka<sup>TM</sup> with the additional NuGet package to support Avro serialization (Confluent.Kafka.Avro (version 0.11.6)), and offers support for:
- Sending and receiving Avro schema's and messages: both producer and consumer use Avro schema's for their message key and value.
Methods for sending and receiving standard or custom messages are
SendMessage
&AddCallback
- Logging via Kafka: your application can log on several log levels (eg. error, debug, info) onto a specific test-bed topic.
Methods for sending and receiving log messages are
Log
&AddLogCallback
- Receive time information: the adapter is connected to the test-bed time service, allowing you to receive relevant time-related information like fictive trial time, or the speed of the trial.
Method for retrieving the time information is
GetTimeInfo
- Uploading large data: the adapter is connected to the test-bed large data service, allowing you to upload large data files for sharing with other applications connected to the test-bed.
Methods for uploading large data are
GetLargeFileServiceClient
&Upload
- Setup a SSL connection with a test-bed including security features
Setup is completely done in the
CSharpTestBedAdapter-settings.xml
- Internal Management: the adapter makes the coupling between application and test-bed as easy as possible.
Dependencies
- All projects are build on the .NET Framework 4.6
- All projects are dependent on one NuGet package from Confluent:
- pre-released Confluent.Kafka.Avro 0.11.6
In order to use the csharp-test-bed-adapter
, you are also required to download and install the above-mentioned NuGet package.
Usage
The C# test-bed adapter is available as Nuget package.
You can also manually build CSharpTestBedAdapter
and include the compiled DLLs CSharpTestBedAdapter.dll
, CoreMessages.dll
& StandardMessages.dll
into your own application.
Next to the compiled CSharpTestBedAdapter.dll
, there is a CSharpTestBedAdapter-settings.xml, where you can change the following adapter settings:
- client.id: the name of the application that uses this adapter
- heartbeat.interval: the time (in ms) between sending a heartbeat
- security.protocol: the security protocol this adapter is using (PLAINTEXT or SSL)
- security.ca.path: the path of the issuer certificate :: only needed when
security.protocol = SSL
- security.keystore.path: the path of the PKCS#12 keystore (client keypair + certificate) for client authentication :: only needed when
security.protocol = SSL
- security.keystore.password: the password for the PKCS#12 keystore :: only needed when
security.protocol = SSL
- broker.url: the URL of the Kafka broker to connect to
- schema.url: the URL of the schema registry service to use
- send.sync: indication if the adapter needs to stall the application thread until the message is sent
- retry.count: number of retries before timing out when sending messages
- retry.time: amount of time (in ms) before timing out when sending messages
- direct.connect: indication if this adapter is allowed to send and receive messages without waiting for the admin tool
See the 3 example projects for further implementation of this adapter.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET Framework | net46 is compatible. net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
-
- Confluent.Kafka.Avro (>= 0.11.6)
- Newtonsoft.Json (>= 12.0.1)
- System.Diagnostics.DiagnosticSource (>= 4.5.1)
- System.Net.Http (>= 4.3.4)
- System.Runtime.CompilerServices.Unsafe (>= 4.5.2)
- System.Security.Cryptography.Algorithms (>= 4.3.1)
- System.Security.Cryptography.X509Certificates (>= 4.3.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
2.1.2020.323 | 3,247 | 3/23/2020 |
2.0.2020.310 | 665 | 3/9/2020 |
1.8.2020.121 | 626 | 1/21/2020 |
1.7.2020.115 | 644 | 1/15/2020 |
1.6.2019.1224 | 609 | 12/23/2019 |
1.6.2019.1223 | 580 | 12/23/2019 |
1.5.2019.1029 | 568 | 10/29/2019 |
1.4.2019.603 | 769 | 6/3/2019 |
1.4.2019.204 | 746 | 2/4/2019 |
1.3.1217 | 927 | 12/17/2018 |
1.3.1122 | 831 | 12/10/2018 |
Final release, including clean-up and resolving all open issues (except transfer to Confluent Kafka Client 1.0)