ID | IEP-119 |
Author | |
Sponsor | |
Created | 08.02.2024 |
Status | DRAFT |
Currently, byte[] → BinaryObject → POJO logic, BinaryMarshaller logic are highly coupled with Ignite core codebase.
This restricts Ignite improvement in the following ways:
ignite-code
module, because, binary infrastracture inside of core.To unlock further improvements of Ignite in this aspects and possibly provide a way to plugin different implementation of Binary serdes (msgpack as an example) we must to refactor Ignite and extract all Binary related classes to separate module
providing clear abstractions and default implementaion.
Two new modules must be created:
ignite-binary-object-api
- "public" interfaces to be used in ignite code. Here we use term "public" in a sense that other part of Ignite codebase know about those classes, but don't know anything about implementation.ignite-binary-object-impl
- implementation of binary infrastructure.IEP concentrated on code structure only and must not break any public benavior or API.