1 package org.metricshub.ipmi.core.sm.events;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 import org.metricshub.ipmi.core.coding.PayloadCoder;
26 import org.metricshub.ipmi.core.sm.StateMachine;
27 import org.metricshub.ipmi.core.sm.states.SessionValid;
28 import org.metricshub.ipmi.core.sm.states.State;
29
30
31
32
33
34
35
36 public class Sendv20Message extends StateMachineEvent {
37 private PayloadCoder message;
38 private int sessionId;
39 private int messageSequenceNumber;
40 private int sessionSequenceNumber;
41
42
43
44
45
46
47
48
49
50
51
52
53
54 public Sendv20Message(PayloadCoder payloadCoder, int sessionId, int messageSequenceNumber,
55 int sessionSequenceNumber) {
56 message = payloadCoder;
57 this.sessionId = sessionId;
58 this.messageSequenceNumber = messageSequenceNumber;
59 this.sessionSequenceNumber = sessionSequenceNumber;
60 }
61
62 public int getSessionId() {
63 return sessionId;
64 }
65
66 public int getMessageSequenceNumber() {
67 return messageSequenceNumber;
68 }
69
70 public int getSessionSequenceNumber() {
71 return sessionSequenceNumber;
72 }
73
74 public PayloadCoder getPayloadCoder() {
75 return message;
76 }
77
78 @Override
79 public boolean equals(Object o) {
80 if (this == o) {
81 return true;
82 }
83 if (o == null || getClass() != o.getClass()) {
84 return false;
85 }
86
87 Sendv20Message that = (Sendv20Message) o;
88
89 if (sessionId != that.sessionId) {
90 return false;
91 }
92 if (messageSequenceNumber != that.messageSequenceNumber) {
93 return false;
94 }
95 if (sessionSequenceNumber != that.sessionSequenceNumber) {
96 return false;
97 }
98
99 return message != null ? message.equals(that.message) : that.message == null;
100 }
101
102 @Override
103 public int hashCode() {
104 int result = message != null ? message.hashCode() : 0;
105 result = 31 * result + sessionId;
106 result = 31 * result + messageSequenceNumber;
107 result = 31 * result + sessionSequenceNumber;
108 return result;
109 }
110 }