tom | 1d416c5 | 2014-09-29 20:55:24 -0700 | [diff] [blame] | 1 | package org.onlab.onos.store.cluster.messaging; |
2 | |||||
Madan Jampani | 890bc35 | 2014-10-01 22:35:29 -0700 | [diff] [blame] | 3 | import org.onlab.onos.cluster.NodeId; |
tom | 1d416c5 | 2014-09-29 20:55:24 -0700 | [diff] [blame] | 4 | |
Yuta HIGUCHI | 971addc | 2014-10-07 23:23:17 -0700 | [diff] [blame] | 5 | // TODO: Should payload type be ByteBuffer? |
tom | 1d416c5 | 2014-09-29 20:55:24 -0700 | [diff] [blame] | 6 | /** |
7 | * Base message for cluster-wide communications. | ||||
8 | */ | ||||
Madan Jampani | 890bc35 | 2014-10-01 22:35:29 -0700 | [diff] [blame] | 9 | public class ClusterMessage { |
tom | 1d416c5 | 2014-09-29 20:55:24 -0700 | [diff] [blame] | 10 | |
Madan Jampani | 890bc35 | 2014-10-01 22:35:29 -0700 | [diff] [blame] | 11 | private final NodeId sender; |
tom | 1d416c5 | 2014-09-29 20:55:24 -0700 | [diff] [blame] | 12 | private final MessageSubject subject; |
Madan Jampani | 53e44e6 | 2014-10-07 12:39:51 -0700 | [diff] [blame] | 13 | private final byte[] payload; |
tom | 1d416c5 | 2014-09-29 20:55:24 -0700 | [diff] [blame] | 14 | |
15 | /** | ||||
16 | * Creates a cluster message. | ||||
17 | * | ||||
18 | * @param subject message subject | ||||
19 | */ | ||||
Madan Jampani | 53e44e6 | 2014-10-07 12:39:51 -0700 | [diff] [blame] | 20 | public ClusterMessage(NodeId sender, MessageSubject subject, byte[] payload) { |
Madan Jampani | 890bc35 | 2014-10-01 22:35:29 -0700 | [diff] [blame] | 21 | this.sender = sender; |
tom | 1d416c5 | 2014-09-29 20:55:24 -0700 | [diff] [blame] | 22 | this.subject = subject; |
Madan Jampani | 890bc35 | 2014-10-01 22:35:29 -0700 | [diff] [blame] | 23 | this.payload = payload; |
tom | 1d416c5 | 2014-09-29 20:55:24 -0700 | [diff] [blame] | 24 | } |
25 | |||||
26 | /** | ||||
Madan Jampani | 890bc35 | 2014-10-01 22:35:29 -0700 | [diff] [blame] | 27 | * Returns the id of the controller sending this message. |
28 | * | ||||
29 | * @return message sender id. | ||||
30 | */ | ||||
31 | public NodeId sender() { | ||||
32 | return sender; | ||||
33 | } | ||||
34 | |||||
35 | /** | ||||
tom | 1d416c5 | 2014-09-29 20:55:24 -0700 | [diff] [blame] | 36 | * Returns the message subject indicator. |
37 | * | ||||
38 | * @return message subject | ||||
39 | */ | ||||
40 | public MessageSubject subject() { | ||||
41 | return subject; | ||||
42 | } | ||||
43 | |||||
Madan Jampani | 890bc35 | 2014-10-01 22:35:29 -0700 | [diff] [blame] | 44 | /** |
45 | * Returns the message payload. | ||||
46 | * | ||||
47 | * @return message payload. | ||||
48 | */ | ||||
Madan Jampani | 53e44e6 | 2014-10-07 12:39:51 -0700 | [diff] [blame] | 49 | public byte[] payload() { |
Madan Jampani | 890bc35 | 2014-10-01 22:35:29 -0700 | [diff] [blame] | 50 | return payload; |
tom | 1d416c5 | 2014-09-29 20:55:24 -0700 | [diff] [blame] | 51 | } |
tom | 1d416c5 | 2014-09-29 20:55:24 -0700 | [diff] [blame] | 52 | } |