handleRxFrame method
void
handleRxFrame()
Implementation
void handleRxFrame() {
final frame = rf;
if (idListeners.containsKey(frame.id) && idListeners[frame.id] != null) {
final lst = idListeners[frame.id]!;
final rv = lst['fn']!(this, frame);
if (rv == TF.CLOSE || rv == null) {
idListeners[frame.id] = null;
return;
} else if (rv == TF.RENEW) {
lst['age'] = 0;
return;
} else if (rv == TF.STAY) {
return;
}
// TF.NEXT lets another handler process it
}
if (typeListeners.containsKey(frame.type) &&
typeListeners[frame.type] != null) {
final lst = typeListeners[frame.type]!;
final rv = lst['fn']!(this, frame);
if (rv == TF.CLOSE) {
typeListeners[frame.type] = null;
return;
} else if (rv != TF.NEXT) {
return;
}
}
if (fallbackListener != null) {
final lst = fallbackListener!;
final rv = lst['fn']!(this, frame);
if (rv == TF.CLOSE) {
fallbackListener = null;
}
}
}