[ 
https://issues.apache.org/jira/browse/IGNITE-14649?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Aleksandr Polovtcev updated IGNITE-14649:
-----------------------------------------
    Description: 
{{NetworkMessage}} instances can be (de-)serialized using instances of 
{{MessageSerializer}} and {{MessageDeserializer}} interfaces. These interfaces 
have to be implemented for every message type which is very tedious and can be 
automated. It is proposed to use annotation processing to generate the 
corresponding implementations for every network message.

Current serialization procedure looks like the following:

 # Message header is written.
 # Message fields are sorted alphanumerically. This is done for historical 
reasons and not needed at the moment, but it was decided to keep this logic.
 # Message fields are dumped into the provided stateful {{MessageWriter}}.

De-serialization procedure performs the same actions in reverse order.

h3. Requirements

 # Create an annotation processor for generating instances of the following 
interfaces:
 ## {{MessageDeserializer}}
 ## {{MessageSerializer}}
 ## {{MessageSerializationFactory}}
 # Introduce the {{@AutoSerializable}} annotation that will be used to mark 
{{NetworkMessage}} implementations which will be considered as candidates for 
code generation by the annotation processor.
 # It should be possible to implement custom (de-)serializers for some 
messages. In this case it is proposed to simply omit the {{@AutoSerializable}} 
annotation on such messages.
# Auto-generated {{MessageSerializationFactory}} instances should be 
automatically registered in a {{MessageSerializationRegistry}}. It is proposed 
to create a helper class that will add the generated factories to the provided 
registry.


  was:
`NetworkMessage` instances can be (de-)serialized using instances of 
`MessageSerializer` and `MessageDeserializer` interfaces. These interfaces have 
to be implemented for every message type which is very tedious and can be 
automated. It is proposed to use annotation processing to generate the 
corresponding implementations for every network message.{color:#000000}
{color}

Current serialize


> Create an annotation processor for generating message serializers and 
> de-serializers
> ------------------------------------------------------------------------------------
>
>                 Key: IGNITE-14649
>                 URL: https://issues.apache.org/jira/browse/IGNITE-14649
>             Project: Ignite
>          Issue Type: Sub-task
>            Reporter: Semyon Danilov
>            Assignee: Aleksandr Polovtcev
>            Priority: Major
>
> {{NetworkMessage}} instances can be (de-)serialized using instances of 
> {{MessageSerializer}} and {{MessageDeserializer}} interfaces. These 
> interfaces have to be implemented for every message type which is very 
> tedious and can be automated. It is proposed to use annotation processing to 
> generate the corresponding implementations for every network message.
> Current serialization procedure looks like the following:
>  # Message header is written.
>  # Message fields are sorted alphanumerically. This is done for historical 
> reasons and not needed at the moment, but it was decided to keep this logic.
>  # Message fields are dumped into the provided stateful {{MessageWriter}}.
> De-serialization procedure performs the same actions in reverse order.
> h3. Requirements
>  # Create an annotation processor for generating instances of the following 
> interfaces:
>  ## {{MessageDeserializer}}
>  ## {{MessageSerializer}}
>  ## {{MessageSerializationFactory}}
>  # Introduce the {{@AutoSerializable}} annotation that will be used to mark 
> {{NetworkMessage}} implementations which will be considered as candidates for 
> code generation by the annotation processor.
>  # It should be possible to implement custom (de-)serializers for some 
> messages. In this case it is proposed to simply omit the 
> {{@AutoSerializable}} annotation on such messages.
> # Auto-generated {{MessageSerializationFactory}} instances should be 
> automatically registered in a {{MessageSerializationRegistry}}. It is 
> proposed to create a helper class that will add the generated factories to 
> the provided registry.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to