Flynk.Net.Services.Transmit.Grpc.Common
1.5.0
Prefix Reserved
dotnet add package Flynk.Net.Services.Transmit.Grpc.Common --version 1.5.0
NuGet\Install-Package Flynk.Net.Services.Transmit.Grpc.Common -Version 1.5.0
<PackageReference Include="Flynk.Net.Services.Transmit.Grpc.Common" Version="1.5.0" />
<PackageVersion Include="Flynk.Net.Services.Transmit.Grpc.Common" Version="1.5.0" />
<PackageReference Include="Flynk.Net.Services.Transmit.Grpc.Common" />
paket add Flynk.Net.Services.Transmit.Grpc.Common --version 1.5.0
#r "nuget: Flynk.Net.Services.Transmit.Grpc.Common, 1.5.0"
#:package Flynk.Net.Services.Transmit.Grpc.Common@1.5.0
#addin nuget:?package=Flynk.Net.Services.Transmit.Grpc.Common&version=1.5.0
#tool nuget:?package=Flynk.Net.Services.Transmit.Grpc.Common&version=1.5.0
Flynk.Net.Services.Transmit.Grpc.Common
Shared infrastructure components for the Flynk Transmission Service gRPC implementation.
Overview
This package contains shared types and utilities used by both the Client and Server packages:
- Proto Definitions:
transmission.protoand generated gRPC client/server stubs - RpcHandlerRegistry: Static registry for registering and routing RPC handlers
- Port Utilities: Port availability checking and conflict detection
- PortInUseException: Exception for port binding conflicts
Installation
You typically don't need to install this package directly. It's automatically included when you install either:
Flynk.Net.Services.Transmit.Grpc.Client(for client applications)Flynk.Net.Services.Transmit.Grpc.Server(for server applications)
However, if you need to reference the shared types directly:
dotnet add package Flynk.Net.Services.Transmit.Grpc.Common
What's Included
Proto Definitions
The transmission.proto file defines the gRPC service contract:
TransmissionServicewithSendandReceiveRPCsTransmissionRequestandTransmissionResponsemessagesReceiveRequestfor streaming
RpcHandlerRegistry
Static registry for routing RPC requests to handlers:
using Flynk.Net.Services.Transmit.Grpc.Client;
// Register a handler
RpcHandlerRegistry.Register("client-123", async request => {
// Process request
return new TransmissionResponse { Success = true };
});
// Register server handler
RpcHandlerRegistry.RegisterServerHandler(async request => {
// Process server-side request
return new TransmissionResponse { Success = true };
});
Port Utilities
Check port availability and handle conflicts:
using Flynk.Net.Services.Transmit.Grpc.Utilities;
// Check if port is available
if (PortUtility.IsPortAvailable(5000))
{
Console.WriteLine("Port 5000 is available");
}
// Validate port or throw exception
try
{
PortUtility.ValidatePortAvailable(5000, "My Service");
}
catch (PortInUseException ex)
{
Console.WriteLine(ex.GetDetailedMessage());
}
// Find an available port
var port = PortUtility.FindAvailablePort(5000, 5100);
Version Compatibility
| Common | Client | Server |
|---|---|---|
| 1.5.x | 1.5.x | 1.5.x |
All three packages should use matching versions.
Dependencies
- Google.Protobuf 3.32.1
- Grpc.Net.Client 2.71.0
- Microsoft.Extensions.Logging.Abstractions 8.0.2+ (net8.0) or 9.0.0+ (net9.0)
Target Frameworks
- .NET 8.0
- .NET 9.0
License
See LICENSE.txt
More Information
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- Google.Protobuf (>= 3.32.1)
- Grpc.Net.Client (>= 2.71.0)
- Microsoft.Extensions.Logging.Abstractions (>= 8.0.2)
-
net9.0
- Google.Protobuf (>= 3.32.1)
- Grpc.Net.Client (>= 2.71.0)
- Microsoft.Extensions.Logging.Abstractions (>= 9.0.0)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Flynk.Net.Services.Transmit.Grpc.Common:
| Package | Downloads |
|---|---|
|
Flynk.Net.Services.Transmit.Grpc.Client
Lightweight gRPC client library for the Flynk Transmission Service. Provides RpcClient with typed routing, serialization, and reconnection support. No server dependencies - ideal for mobile, desktop, and microservice clients. |
|
|
Flynk.Net.Services.Transmit.Grpc.Server
Server-side gRPC hosting library for the Flynk Transmission Service. Includes TransmissionServiceImpl, ASP.NET Core extensions, and port validation utilities. References Flynk.Net.Services.Transmit.Grpc.Common for shared types. |
GitHub repositories
This package is not used by any popular GitHub repositories.