- Azure Table QoS 2 persistence provider uses proper query API to retrieve only relevant row.
- QoS 2 persistence provider API is modified to work with SequenceNumber instead of MessageId.
- Azure Blob session state persistence provider is modified to update ETag value on in-memory session state object to allow saving it later on without any issue.
- 14 least significant bits are used when converting SequenceNumber into PacketId.
IMessage.SequenceNumber
type is changed to ulong.
IQos2StatePersistenceProvider
now accepts device identity to scope messages in flight to device level.IAuthenticationProvider
has been renamed intoIDeviceIdentityProvider
and the API has changed to allow for a flexible interaction between device identity source and other protocol gateway components.ITopicNameRouter
has been renamed intoIMessageRouter
and the API generalized to work with the message as a whole.IDeviceClient
has been renamed intoIMessagingServiceClient
to better reflect the purpose of the component.IMessagingFactory
was introduced and message exchange withIMessagingServiceClient
is done usingIMessage
objects.- Issues #23, #26, #27, #28, #33 have been addressed.
- Microsoft Azure IoT SDK specific components have been moved to
ProtocolGateway.IotHubClient
project. - Components are now released as 3 nuget packages according to certain dependencies (Azure Storage, Azure IoT SDK):
Microsoft.Azure.Devices.ProtocolGateway.Core
,Microsoft.Azure.Devices.ProtocolGateway.IotHubClient
,Microsoft.Azure.Devices.ProtocolGateway.Providers.CloudStorage
.- Renamed
samples
intohost
throughout the solution.