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,
55 int messageSequenceNumber, 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) return true;
81 if (o == null || getClass() != o.getClass()) return false;
82
83 Sendv20Message that = (Sendv20Message) o;
84
85 if (sessionId != that.sessionId) return false;
86 if (messageSequenceNumber != that.messageSequenceNumber) return false;
87 if (sessionSequenceNumber != that.sessionSequenceNumber) return false;
88
89 return message != null ? message.equals(that.message) : that.message == null;
90 }
91
92 @Override
93 public int hashCode() {
94 int result = message != null ? message.hashCode() : 0;
95 result = 31 * result + sessionId;
96 result = 31 * result + messageSequenceNumber;
97 result = 31 * result + sessionSequenceNumber;
98 return result;
99 }
100 }