I'm having trouble finding where in the spec it specifies how notification should be queued or blocked in the most trivial case.
Let's assume a simple mn-ae <=> mn-cse <=> in-cse <=> in-ae setup. There's a resource res1 on the mn-cse, and the in-ae has a trivial subscription on it:
{
"enc": {
"net": [3],
"ty": 4
},
"nct": 1,
"nu": ["<uri>"],
"pi": "res1",
"ri": "sub1",
"rn": "sub1",
"ty": 23
}
There are no other relevant resources or configurations affecting notifications.
Then, let's say the mn-ae updates res1 and that triggers a notification to in-ae, and let's say the in-ae takes a while to process that notification (not long enough to timeout)... While in-ae is processing the notification, mn-ae does another update to res1.
My question is this: where (if anywhere) is this second notification blocked?
- in the
mn-cse? - in the
in-cse? - not blocked -
in-aereceives two concurrent notifications.
Further questions:
- what if it (the 2nd notification) was triggered by a different
in-aeon the samemn-cse? (ie. are the notification queued based on target ?) - what if the same
in-aetriggered a different notification on a different resource? (ie. are the notificaitons queued based on source ?) - what if it was a different
in-aeon a differentmn-cse?