• Alfonso Acosta's avatar
    Use github.com/ugorji/go/codec/ for wiring messages · 0d917b2d
    Alfonso Acosta authored
    * New encoding format:
      * Msgpack reports between probe<->app (smaller representation, faster to
        encode/decode).
      * Still use JSON between app<->UI (try to avoid making javascript deal with
        mspack).
    
      The app still suports publishing reports in both gob and JSON, not braking
      backwards compatibility.
    
    * Use compile-time generated marshallers/unmarshallers for higher performance. In
      order to be able to skip code-generation for certain types, I included
      https://github.com/2opremio/go-1/tree/master/codec/codecgen instead of
      upstream until https://github.com/ugorji/go/pull/139 is merged.
    
    * Encode/decode intermediate types using github.com/ugorji/go/codec.Selfer
      for higher performance and reducing garbage collection (no temporary buffers).
    0d917b2d