Uploaded image for project: 'Couchbase .NET client library'
  1. Couchbase .NET client library
  2. NCBC-2278

Support asynchronous stream custom deserializers

    XMLWordPrintable

Details

    • Improvement
    • Status: Resolved
    • Critical
    • Resolution: Fixed
    • None
    • 3.0.0-beta.4
    • library
    • None
    • 1

    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.

      Attachments

        Issue Links

          For Gerrit Dashboard: NCBC-2278
          # Subject Branch Project Status CR V

          Activity

            btburnett3 Brant Burnett added a comment - Jeff Morris Matt Ingenthron FYI
            jmorris Jeff Morris added a comment -

            Brant Burnett -

            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.

            jmorris Jeff Morris added a comment - Brant Burnett - 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.

            People

              btburnett3 Brant Burnett
              btburnett3 Brant Burnett
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes

                  PagerDuty