Tags: andrejbaran/avsc
Tags
Improve minor RPC functionality. More specifically: + Request records are now named. This enhances `inspect` output. + Custom listener hooks can now benefit from (non) `strictError` conversions. + Stateless listener transport errors on the writable side are now propagated to the listener.
Unwrap unions and improve RPC API. + Unions are now represented more naturally without a wrapping object. The previous wrapped union type is still available to support ambiguous (less common) combinations of branches. + Protocol emitters and listeners now expose a lower level API which supports exchanging custom headers, running middleware, and more. Implementing custom transport encodings is now also much simpler. Other changes: + Types can now export their schemas with defaults and other attributes (e.g. logical type information). + The default stateful RPC implementation now uses a Netty-compatible encoder (which will work out of the box with the Avro's Java implementation).
Add benchmark results. See below. fromBuffer | toBuffer | isValid | (ops/sec) ---------: | -------: | ------: | --------- 1,301,390 | 371,872 | 26,612,629 | ArrayString.avsc 1,622,825 | 1,431,626 | 50,125,014 | Bytes.avsc 229,547 | 106,580 | 325,321 | Cake.avsc 802,453 | 367,991 | 3,106,255 | Coupon.avsc 10,020,718 | 1,483,282 | 68,603,927 | Double.avsc 30,148,329 | 1,340,996 | 7,764,887 | Enum.avsc 760,230 | 367,653 | 639,028 | HistoryItem.avsc 820,911 | 485,178 | 5,708,991 | Human.avsc 16,097,164 | 1,585,242 | 69,673,376 | Int.avsc 11,705,891 | 1,495,754 | 37,788,289 | Long.avsc 80,627 | 43,822 | 144,693 | PciEvent.avsc 7,226,766 | 869,772 | 2,451,371 | Person.avsc 4,462,827 | 814,780 | 28,920,817 | String.avsc 5,710,550 | 840,337 | 4,086,119 | Union.avsc 436,030 | 244,978 | 470,321 | User.avsc
PreviousNext