MCPcopy Create free account
hub / github.com/LUX-Core/lux / ChannelMessageSeriesEnd

Method ChannelMessageSeriesEnd

src/cryptopp/mqueue.cpp:135–162  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

133}
134
135bool EqualityComparisonFilter::ChannelMessageSeriesEnd(const std::string &channel, int propagation, bool blocking)
136{
137 unsigned int i = MapChannel(channel);
138
139 if (i == 2)
140 {
141 OutputMessageSeriesEnd(4, propagation, blocking, channel);
142 return false;
143 }
144 else if (m_mismatchDetected)
145 return false;
146 else
147 {
148 MessageQueue &q1 = m_q[i], &q2 = m_q[1-i];
149
150 if (q2.AnyRetrievable() || q2.AnyMessages())
151 goto mismatch;
152 else if (q2.NumberOfMessageSeries() > 0)
153 return Output(2, (const byte *)"\1", 1, 0, blocking) != 0;
154 else
155 q1.MessageSeriesEnd();
156
157 return false;
158
159mismatch:
160 return HandleMismatchDetected(blocking);
161 }
162}
163
164bool EqualityComparisonFilter::HandleMismatchDetected(bool blocking)
165{

Callers 6

KnownAnswerTestFunction · 0.45
SignatureKnownAnswerTestFunction · 0.45
MessageSeriesEndFunction · 0.45
GzipFileFunction · 0.45
ChannelMessageSeriesEndFunction · 0.45

Calls 4

OutputClass · 0.85
AnyRetrievableMethod · 0.80
AnyMessagesMethod · 0.80
MessageSeriesEndMethod · 0.45

Tested by 3

KnownAnswerTestFunction · 0.36
SignatureKnownAnswerTestFunction · 0.36
GzipFileFunction · 0.36