You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by jo...@apache.org on 2019/11/07 09:18:28 UTC

[tinkerpop] branch tp34 updated (47e25aa -> 2b9f40e)

This is an automated email from the ASF dual-hosted git repository.

jorgebg pushed a change to branch tp34
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git.


    from 47e25aa  Merge branch 'tp33' into tp34
     add 344b737  TINKERPOP-2305 Introduce Buffer interface
     add a76cf5d  TINKERPOP-2305 Refactor serialization method signatures
     add 6e10bde  TINKERPOP-2035 Move to gremlin-core
     add 5c2cb9f  TINKERPOP-2035 Add utility methods to read/write from Netty buffer
     add c2108bb  TINKERPOP-2035 Fix gremlin-io-test and declare params as final
     new 2b9f40e  Merge branch 'TINKERPOP-2305' into tp34

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 CHANGELOG.asciidoc                                 |   6 +
 docs/src/upgrade/release-3.4.x.asciidoc            |  25 ++
 .../tinkerpop/gremlin/structure/io/Buffer.java     | 250 +++++++++++++
 .../gremlin/structure/io/BufferFactory.java        |  21 +-
 .../gremlin/structure/io}/binary/DataType.java     |   5 +-
 .../structure/io}/binary/GraphBinaryIo.java        |   5 +-
 .../structure/io}/binary/GraphBinaryReader.java    |  15 +-
 .../structure/io}/binary/GraphBinaryWriter.java    |  30 +-
 .../structure/io}/binary/TypeSerializer.java       |  16 +-
 .../io}/binary/TypeSerializerRegistry.java         |  18 +-
 .../io}/binary/types/BigDecimalSerializer.java     |  16 +-
 .../io}/binary/types/BigIntegerSerializer.java     |  16 +-
 .../io}/binary/types/BindingSerializer.java        |  17 +-
 .../io}/binary/types/BulkSetSerializer.java        |  19 +-
 .../io}/binary/types/ByteBufferSerializer.java     |  16 +-
 .../io}/binary/types/ByteCodeSerializer.java       |  24 +-
 .../structure/io}/binary/types/CharSerializer.java |  17 +-
 .../io}/binary/types/ClassSerializer.java          |  17 +-
 .../io}/binary/types/CollectionSerializer.java     |  16 +-
 .../io}/binary/types/CustomTypeSerializer.java     |   4 +-
 .../structure/io}/binary/types/DateSerializer.java |  14 +-
 .../io}/binary/types/DurationSerializer.java       |  16 +-
 .../structure/io}/binary/types/EdgeSerializer.java |  17 +-
 .../structure/io}/binary/types/EnumSerializer.java |  16 +-
 .../io}/binary/types/GraphSerializer.java          |  25 +-
 .../io}/binary/types/InetAddressSerializer.java    |  18 +-
 .../io}/binary/types/InstantSerializer.java        |  16 +-
 .../io}/binary/types/LambdaSerializer.java         |  17 +-
 .../structure/io}/binary/types/ListSerializer.java |  16 +-
 .../io}/binary/types/LocalDateSerializer.java      |  16 +-
 .../io}/binary/types/LocalDateTimeSerializer.java  |  16 +-
 .../io}/binary/types/LocalTimeSerializer.java      |  16 +-
 .../io}/binary/types/MapEntrySerializer.java       |  18 +-
 .../structure/io}/binary/types/MapSerializer.java  |  16 +-
 .../io}/binary/types/MetricsSerializer.java        |  16 +-
 .../io}/binary/types/MonthDaySerializer.java       |  16 +-
 .../io}/binary/types/OffsetDateTimeSerializer.java |  16 +-
 .../io}/binary/types/OffsetTimeSerializer.java     |  16 +-
 .../structure/io}/binary/types/PSerializer.java    |  24 +-
 .../structure/io}/binary/types/PathSerializer.java |  16 +-
 .../io}/binary/types/PeriodSerializer.java         |  16 +-
 .../io}/binary/types/PropertySerializer.java       |  17 +-
 .../structure/io}/binary/types/SetSerializer.java  |  16 +-
 .../io}/binary/types/SimpleTypeSerializer.java     |  33 +-
 .../io}/binary/types/SingleTypeSerializer.java     |  36 +-
 .../io}/binary/types/StringSerializer.java         |  14 +-
 .../io}/binary/types/TransformSerializer.java      |   4 +-
 .../types/TraversalExplanationSerializer.java      |  18 +-
 .../binary/types/TraversalMetricsSerializer.java   |  16 +-
 .../binary/types/TraversalStrategySerializer.java  |  16 +-
 .../io}/binary/types/TraverserSerializer.java      |  17 +-
 .../structure/io}/binary/types/TreeSerializer.java |  17 +-
 .../structure/io}/binary/types/UUIDSerializer.java |  14 +-
 .../io}/binary/types/VertexPropertySerializer.java |  17 +-
 .../io}/binary/types/VertexSerializer.java         |  17 +-
 .../io}/binary/types/YearMonthSerializer.java      |  16 +-
 .../io}/binary/types/ZoneOffsetSerializer.java     |  16 +-
 .../io}/binary/types/ZonedDateTimeSerializer.java  |  16 +-
 .../driver/ser/GraphBinaryMessageSerializerV1.java |  10 +-
 .../tinkerpop/gremlin/driver/ser/NettyBuffer.java  | 267 ++++++++++++++
 .../gremlin/driver/ser/NettyBufferFactory.java     | 114 ++++++
 .../ser/binary/RequestMessageSerializer.java       |  58 +++-
 .../ser/binary/ResponseMessageSerializer.java      |  65 ++--
 .../gremlin/driver/ser/NettyBufferFactoryTest.java | 385 +++++++++++++++++++++
 .../binary/GraphBinaryMessageSerializerV1Test.java |   1 +
 .../GraphBinaryReaderWriterRoundTripTest.java      |   8 +-
 .../ser/binary/TypeSerializerFailureTests.java     |  11 +-
 .../ser/binary/TypeSerializerRegistryTest.java     |  29 +-
 .../ser/binary/types/CharSerializerTest.java       |  23 +-
 .../types/sample/SamplePersonSerializer.java       |  19 +-
 .../types/sample/SamplePersonSerializerTest.java   |  25 +-
 .../driver/GraphBinaryReaderWriterBenchmark.java   |  29 +-
 .../gremlin/driver/SerializationBenchmark.java     |   2 +-
 .../scripts/generate-graphbinary-resources.groovy  |   7 +-
 .../graphbinary/GraphBinaryCompatibilityTest.java  |  21 +-
 75 files changed, 1704 insertions(+), 580 deletions(-)
 create mode 100644 gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/Buffer.java
 copy gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/binary/types/CustomTypeSerializer.java => gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/BufferFactory.java (66%)
 rename {gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser => gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io}/binary/DataType.java (96%)
 rename {gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser => gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io}/binary/GraphBinaryIo.java (93%)
 rename {gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser => gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io}/binary/GraphBinaryReader.java (89%)
 rename {gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser => gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io}/binary/GraphBinaryWriter.java (81%)
 rename {gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser => gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io}/binary/TypeSerializer.java (70%)
 rename {gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser => gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io}/binary/TypeSerializerRegistry.java (96%)
 rename {gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser => gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io}/binary/types/BigDecimalSerializer.java (69%)
 rename {gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser => gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io}/binary/types/BigIntegerSerializer.java (68%)
 rename {gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser => gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io}/binary/types/BindingSerializer.java (71%)
 rename {gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser => gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io}/binary/types/BulkSetSerializer.java (70%)
 rename {gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser => gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io}/binary/types/ByteBufferSerializer.java (67%)
 rename {gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser => gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io}/binary/types/ByteCodeSerializer.java (73%)
 rename {gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser => gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io}/binary/types/CharSerializer.java (75%)
 rename {gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser => gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io}/binary/types/ClassSerializer.java (66%)
 rename {gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser => gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io}/binary/types/CollectionSerializer.java (69%)
 rename {gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser => gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io}/binary/types/CustomTypeSerializer.java (88%)
 rename {gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser => gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io}/binary/types/DateSerializer.java (75%)
 rename {gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser => gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io}/binary/types/DurationSerializer.java (66%)
 rename {gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser => gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io}/binary/types/EdgeSerializer.java (82%)
 rename {gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser => gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io}/binary/types/EnumSerializer.java (84%)
 rename {gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser => gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io}/binary/types/GraphSerializer.java (87%)
 rename {gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser => gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io}/binary/types/InetAddressSerializer.java (68%)
 rename {gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser => gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io}/binary/types/InstantSerializer.java (66%)
 rename {gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser => gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io}/binary/types/LambdaSerializer.java (75%)
 rename {gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser => gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io}/binary/types/ListSerializer.java (67%)
 rename {gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser => gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io}/binary/types/LocalDateSerializer.java (67%)
 rename {gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser => gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io}/binary/types/LocalDateTimeSerializer.java (72%)
 rename {gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser => gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io}/binary/types/LocalTimeSerializer.java (65%)
 rename {gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser => gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io}/binary/types/MapEntrySerializer.java (62%)
 rename {gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser => gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io}/binary/types/MapSerializer.java (71%)
 rename {gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser => gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io}/binary/types/MetricsSerializer.java (80%)
 rename {gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser => gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io}/binary/types/MonthDaySerializer.java (66%)
 rename {gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser => gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io}/binary/types/OffsetDateTimeSerializer.java (73%)
 rename {gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser => gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io}/binary/types/OffsetTimeSerializer.java (70%)
 rename {gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser => gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io}/binary/types/PSerializer.java (88%)
 rename {gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser => gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io}/binary/types/PathSerializer.java (75%)
 rename {gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser => gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io}/binary/types/PeriodSerializer.java (66%)
 rename {gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser => gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io}/binary/types/PropertySerializer.java (72%)
 rename {gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser => gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io}/binary/types/SetSerializer.java (67%)
 rename {gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser => gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io}/binary/types/SimpleTypeSerializer.java (63%)
 rename {gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser => gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io}/binary/types/SingleTypeSerializer.java (59%)
 rename {gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser => gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io}/binary/types/StringSerializer.java (72%)
 rename {gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser => gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io}/binary/types/TransformSerializer.java (88%)
 rename {gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser => gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io}/binary/types/TraversalExplanationSerializer.java (81%)
 rename {gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser => gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io}/binary/types/TraversalMetricsSerializer.java (75%)
 rename {gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser => gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io}/binary/types/TraversalStrategySerializer.java (80%)
 rename {gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser => gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io}/binary/types/TraverserSerializer.java (70%)
 rename {gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser => gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io}/binary/types/TreeSerializer.java (70%)
 rename {gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser => gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io}/binary/types/UUIDSerializer.java (68%)
 rename {gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser => gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io}/binary/types/VertexPropertySerializer.java (79%)
 rename {gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser => gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io}/binary/types/VertexSerializer.java (72%)
 rename {gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser => gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io}/binary/types/YearMonthSerializer.java (66%)
 rename {gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser => gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io}/binary/types/ZoneOffsetSerializer.java (65%)
 rename {gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser => gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io}/binary/types/ZonedDateTimeSerializer.java (73%)
 create mode 100644 gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/NettyBuffer.java
 create mode 100644 gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ser/NettyBufferFactory.java
 create mode 100644 gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ser/NettyBufferFactoryTest.java


[tinkerpop] 01/01: Merge branch 'TINKERPOP-2305' into tp34

Posted by jo...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

jorgebg pushed a commit to branch tp34
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git

commit 2b9f40efb1da6b9ab22e3ffbe700759f4156ec9a
Merge: 47e25aa c2108bb
Author: Jorge Bay Gondra <jo...@gmail.com>
AuthorDate: Thu Nov 7 10:07:14 2019 +0100

    Merge branch 'TINKERPOP-2305' into tp34

 CHANGELOG.asciidoc                                 |   6 +
 docs/src/upgrade/release-3.4.x.asciidoc            |  25 ++
 .../tinkerpop/gremlin/structure/io/Buffer.java     | 250 +++++++++++++
 .../gremlin/structure/io/BufferFactory.java        |  21 +-
 .../gremlin/structure/io}/binary/DataType.java     |   5 +-
 .../structure/io}/binary/GraphBinaryIo.java        |   5 +-
 .../structure/io}/binary/GraphBinaryReader.java    |  15 +-
 .../structure/io}/binary/GraphBinaryWriter.java    |  30 +-
 .../structure/io}/binary/TypeSerializer.java       |  16 +-
 .../io}/binary/TypeSerializerRegistry.java         |  18 +-
 .../io}/binary/types/BigDecimalSerializer.java     |  16 +-
 .../io}/binary/types/BigIntegerSerializer.java     |  16 +-
 .../io}/binary/types/BindingSerializer.java        |  17 +-
 .../io}/binary/types/BulkSetSerializer.java        |  19 +-
 .../io}/binary/types/ByteBufferSerializer.java     |  16 +-
 .../io}/binary/types/ByteCodeSerializer.java       |  24 +-
 .../structure/io}/binary/types/CharSerializer.java |  17 +-
 .../io}/binary/types/ClassSerializer.java          |  17 +-
 .../io}/binary/types/CollectionSerializer.java     |  16 +-
 .../io}/binary/types/CustomTypeSerializer.java     |   4 +-
 .../structure/io}/binary/types/DateSerializer.java |  14 +-
 .../io}/binary/types/DurationSerializer.java       |  16 +-
 .../structure/io}/binary/types/EdgeSerializer.java |  17 +-
 .../structure/io}/binary/types/EnumSerializer.java |  16 +-
 .../io}/binary/types/GraphSerializer.java          |  25 +-
 .../io}/binary/types/InetAddressSerializer.java    |  18 +-
 .../io}/binary/types/InstantSerializer.java        |  16 +-
 .../io}/binary/types/LambdaSerializer.java         |  17 +-
 .../structure/io}/binary/types/ListSerializer.java |  16 +-
 .../io}/binary/types/LocalDateSerializer.java      |  16 +-
 .../io}/binary/types/LocalDateTimeSerializer.java  |  16 +-
 .../io}/binary/types/LocalTimeSerializer.java      |  16 +-
 .../io}/binary/types/MapEntrySerializer.java       |  18 +-
 .../structure/io}/binary/types/MapSerializer.java  |  16 +-
 .../io}/binary/types/MetricsSerializer.java        |  16 +-
 .../io}/binary/types/MonthDaySerializer.java       |  16 +-
 .../io}/binary/types/OffsetDateTimeSerializer.java |  16 +-
 .../io}/binary/types/OffsetTimeSerializer.java     |  16 +-
 .../structure/io}/binary/types/PSerializer.java    |  24 +-
 .../structure/io}/binary/types/PathSerializer.java |  16 +-
 .../io}/binary/types/PeriodSerializer.java         |  16 +-
 .../io}/binary/types/PropertySerializer.java       |  17 +-
 .../structure/io}/binary/types/SetSerializer.java  |  16 +-
 .../io}/binary/types/SimpleTypeSerializer.java     |  33 +-
 .../io}/binary/types/SingleTypeSerializer.java     |  36 +-
 .../io}/binary/types/StringSerializer.java         |  14 +-
 .../io}/binary/types/TransformSerializer.java      |   4 +-
 .../types/TraversalExplanationSerializer.java      |  18 +-
 .../binary/types/TraversalMetricsSerializer.java   |  16 +-
 .../binary/types/TraversalStrategySerializer.java  |  16 +-
 .../io}/binary/types/TraverserSerializer.java      |  17 +-
 .../structure/io}/binary/types/TreeSerializer.java |  17 +-
 .../structure/io}/binary/types/UUIDSerializer.java |  14 +-
 .../io}/binary/types/VertexPropertySerializer.java |  17 +-
 .../io}/binary/types/VertexSerializer.java         |  17 +-
 .../io}/binary/types/YearMonthSerializer.java      |  16 +-
 .../io}/binary/types/ZoneOffsetSerializer.java     |  16 +-
 .../io}/binary/types/ZonedDateTimeSerializer.java  |  16 +-
 .../driver/ser/GraphBinaryMessageSerializerV1.java |  10 +-
 .../tinkerpop/gremlin/driver/ser/NettyBuffer.java  | 267 ++++++++++++++
 .../gremlin/driver/ser/NettyBufferFactory.java     | 114 ++++++
 .../ser/binary/RequestMessageSerializer.java       |  58 +++-
 .../ser/binary/ResponseMessageSerializer.java      |  65 ++--
 .../gremlin/driver/ser/NettyBufferFactoryTest.java | 385 +++++++++++++++++++++
 .../binary/GraphBinaryMessageSerializerV1Test.java |   1 +
 .../GraphBinaryReaderWriterRoundTripTest.java      |   8 +-
 .../ser/binary/TypeSerializerFailureTests.java     |  11 +-
 .../ser/binary/TypeSerializerRegistryTest.java     |  29 +-
 .../ser/binary/types/CharSerializerTest.java       |  23 +-
 .../types/sample/SamplePersonSerializer.java       |  19 +-
 .../types/sample/SamplePersonSerializerTest.java   |  25 +-
 .../driver/GraphBinaryReaderWriterBenchmark.java   |  29 +-
 .../gremlin/driver/SerializationBenchmark.java     |   2 +-
 .../scripts/generate-graphbinary-resources.groovy  |   7 +-
 .../graphbinary/GraphBinaryCompatibilityTest.java  |  21 +-
 75 files changed, 1704 insertions(+), 580 deletions(-)

diff --cc CHANGELOG.asciidoc
index c896cd7,8841204..1e159b5
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@@ -20,17 -20,14 +20,23 @@@ limitations under the License
  
  image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/images/avant-gremlin.png[width=185]
  
+ [[release-3-4-5]]
+ === TinkerPop 3.4.5 (Release Date: NOT OFFICIALLY RELEASED YET)
+ 
+ * GraphBinary: Introduced our own `Buffer` API as a way to wrap Netty's Buffer API. Moved `GraphBinaryReader`,
+ `GraphBinaryWriter` and `TypeSerializer<T>` to gremlin-core.
+ 
  [[release-3-4-4]]
 -=== TinkerPop 3.4.4 (Release Date: NOT OFFICIALLY RELEASED YET)
 +=== TinkerPop 3.4.5 (Release Date: NOT OFFICIALLY RELEASED YET)
 +
 +This release also includes changes from <<release-3-3-10, 3.3.10>>.
 +
 +* Bump to Netty 4.1.42
 +
 +[[release-3-4-4]]
 +=== TinkerPop 3.4.4 (Release Date: October 14, 2019)
 +
 +This release also includes changes from <<release-3-3-9, 3.3.9>>.
  
  * Provided support for DSLs by way of remote connections through `AnonymousTraversalSource`.
  * Added `elementMap()` step.
diff --cc docs/src/upgrade/release-3.4.x.asciidoc
index d7b14a3,98e1f6c..8fce2e7
--- a/docs/src/upgrade/release-3.4.x.asciidoc
+++ b/docs/src/upgrade/release-3.4.x.asciidoc
@@@ -21,9 -21,34 +21,34 @@@ image::https://raw.githubusercontent.co
  
  *Avant-Gremlin Construction #3 for Theremin and Flowers*
  
+ == TinkerPop 3.4.5
+ 
+ *Release Date: NOT OFFICIALLY RELEASED YET*
+ 
+ Please see the link:https://github.com/apache/tinkerpop/blob/3.4.5/CHANGELOG.asciidoc#release-3-4-5[changelog] for a
+ complete list of all the modifications that are part of this release.
+ 
+ === Upgrading for Providers
+ 
+ ==== Graph Driver Providers
+ 
+ ===== GraphBinary API Change
+ 
+ In GraphBinary serialization, Java `GraphBinaryReader` and `GraphBinaryWriter`, along with `TypeSerializer<T>`
+ interface now take a `Buffer` instance instead of Netty's `ByteBuf`, that way we avoid exposing Netty's API in our own
+ public API.
+ 
+ Using our own `Buffer` interface, wrapping Netty's buffer API, allowed us to move `TypeSerializer<T>` implementations,
+ the reader and the writer to `org.apache.tinkerpop.gremlin.structure.io.binary` package in `gremlin-core`.
+ 
+ Additionally, `GraphBinaryReader` and `GraphBinaryWriter` methods now throw an java's `IOException`, instead of our
+ own `SerializationException`.
+ 
+ See: link:https://issues.apache.org/jira/browse/TINKERPOP-2305[TINKERPOP-2305]
+ 
  == TinkerPop 3.4.4
  
 -*Release Date: NOT OFFICIALLY RELEASED YET*
 +*Release Date: October 14, 2019*
  
  Please see the link:https://github.com/apache/tinkerpop/blob/3.4.4/CHANGELOG.asciidoc#release-3-4-4[changelog] for a complete list of all the modifications that are part of this release.