Support asynchronous stream custom deserializers

Description

The current async streaming implementations use only Newtonsoft.Json under the hood, custom implementations of ITypeSerializer are ignored. We should support deserializing an asynchronous stream on custom serializers.

My proposed approach is to add IStreamingTypeDeserializer as a new interface and implement that interface on DefaultSerializer. We can then check for the presence of this interface in the streaming layers of QueryResult and ViewResult and use it when present. If not present, we fall back to synchronous deserialization and then emulate async behaviors.

Environment

None

Gerrit Reviews

None

Release Notes Description

None

Activity

Show:

Jeffry Morris January 17, 2020 at 4:54 PM

-

Very good work, thanks for submitting. Note that serializers and (transcoders) now have an RFC that all SDKs must conform to; at some point will may need some alignment while still supporting platform idiomatic features.

Brant Burnett January 17, 2020 at 1:25 PM

FYI

Fixed
Pinned fields
Click on the next to a field label to start pinning.

Details

Assignee

Reporter

Story Points

Components

Fix versions

Priority

Instabug

Open Instabug

PagerDuty

Sentry

Zendesk Support

Created January 17, 2020 at 1:24 PM
Updated April 24, 2020 at 8:24 PM
Resolved January 21, 2020 at 5:43 AM
Instabug