blob: 4d76ce3680b7487e09da47f4b3445ff66dc6c421 [file] [log] [blame]
tom1d416c52014-09-29 20:55:24 -07001package org.onlab.onos.store.cluster.messaging;
2
tom1d416c52014-09-29 20:55:24 -07003/**
Yuta HIGUCHI53a285d2014-10-06 23:58:01 -07004 * Service for encoding & decoding intra-cluster message payload.
tom1d416c52014-09-29 20:55:24 -07005 */
6public interface SerializationService {
7
8 /**
tom81583142014-09-30 01:40:29 -07009 * Decodes the specified byte buffer to obtain the message within.
tom1d416c52014-09-29 20:55:24 -070010 *
11 * @param buffer byte buffer with message(s)
12 * @return parsed message
13 */
Yuta HIGUCHI53a285d2014-10-06 23:58:01 -070014 <T> T decode(byte[] data);
tom1d416c52014-09-29 20:55:24 -070015
16 /**
17 * Encodes the specified message into the given byte buffer.
18 *
19 * @param message message to be encoded
20 * @param buffer byte buffer to receive the message data
21 */
Madan Jampani890bc352014-10-01 22:35:29 -070022 byte[] encode(Object message);
tom1d416c52014-09-29 20:55:24 -070023
24}