Gateway gRPC¶
When To Use¶
Use this archetype when devices are not integrated directly, but through a local gateway process or service, typically over gRPC.
Core Shape¶
- shared transport owns gateway process or channel lifecycle
- protocol serializes per-device RPCs
- event stream manager consumes gateway events
- synchronization features translate PQ models to gateway models
- enrollment services call protocol methods through the same abstraction boundary
Typical Files¶
Communication/Transport.csCommunication/Protocol.csCommunication/<GatewayManager>.csCommunication/<EventStreamManager>.csCapabilities/AccessSynchronization.cs- optional
Capabilities/Enrollment/*.cs Commands/*.cs
Minimal Flow¶
gateway process -> gRPC stream -> transport callback -> event translation -> Thing method -> PQ event
command or sync -> protocol queue -> gRPC call -> result
Common Pitfalls¶
- treating gateway availability as separate from device availability without documenting both
- bypassing the protocol queue for some RPCs
- embedding enrollment-specific logic into generic transport code
- not recording which device capabilities depend on gateway support
Good First Deliverable¶
Start the gateway, connect one device, fetch one status call, and translate one real-time event.