blob: 752163080b2a39e0dd9aef4a2763126d17f58e6b [file] [log] [blame]
tom1d416c52014-09-29 20:55:24 -07001package org.onlab.onos.store.cluster.messaging;
2
3import java.nio.ByteBuffer;
4
5/**
tom81583142014-09-30 01:40:29 -07006 * Service for encoding & decoding intra-cluster messages.
tom1d416c52014-09-29 20:55:24 -07007 */
8public interface SerializationService {
9
10 /**
tom81583142014-09-30 01:40:29 -070011 * Decodes the specified byte buffer to obtain the message within.
tom1d416c52014-09-29 20:55:24 -070012 *
13 * @param buffer byte buffer with message(s)
14 * @return parsed message
15 */
16 ClusterMessage decode(ByteBuffer buffer);
17
18 /**
19 * Encodes the specified message into the given byte buffer.
20 *
21 * @param message message to be encoded
22 * @param buffer byte buffer to receive the message data
23 */
24 void encode(ClusterMessage message, ByteBuffer buffer);
25
26}