[ifmapdev] Question about IF-MAP subscriptions.

Skip to first unread message

Terry Simons

May 19, 2010, 7:29:00 PM5/19/10
to ifmapdev

I want to make sure that I understand how IF-MAP subscriptions work.

Based on my reading of the IF-MAP specification it seems that a
subscription is just a placeholder for a repetitive query, but that
the IF-MAP server doesn't actually push notifications out. Rather,
they have to send a poll request with the subscription identifier to
get updates for a subscription.

Is this accurate?

I was originally thinking that a subscription was event-driven from
the IF-MAP server, and indeed the specification leads me to believe
this with wording like "subscribe to notifications" and "subscribes to
notification of changes".

Also, it appears as though the expectation may be that a poll request
is always pending so that any IF-MAP link changes which occur are
delivered to the client ASAP.

Some clarification here could be useful.


Roger Chickering

May 19, 2010, 7:47:48 PM5/19/10
to ifma...@googlegroups.com
Hi Terry,

The poll request doesn't specify any subscription identifiers.

A client that wants to use subscribe makes two separate TCP connections to the server:

SSRC: publish, subscribe, search, purgePublisher
ARC: poll

The first time poll is called on the ARC, the server sends back the results for the subscriptions. From then on, poll is a long-running request; the server doesn't send back a response until something has changed in the database that matches one of the client's subscriptions. The client includes logic that calls poll repeatedly; as soon as pollResult is received, poll is called again right away so the client can be notified of more matching changes.

Section 3.8.5 explains this in more detail; please refer to Figure 4, which illustrates the SSRC and the ARC. Figure 4 shows the SSRC and ARC from a single client; in order for the pollResult to be sent at t2, another client not shown in the figure published something to the server that matched the subscription of the client that is shown in the figure.

I hope this helps... :-)


Terry Simons

May 20, 2010, 3:40:02 AM5/20/10
to ifmapdev
Hi Roger,

That definitely helps.

Thanks for the explanation.
Reply all
Reply to author
0 new messages