ICEpush
  1. ICEpush
  2. PUSH-22

new client side created push ids will not be in current long poll

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.0-Alpha2
    • Fix Version/s: 2.0-Alpha3
    • Component/s: None
    • Labels:
      None
    • Environment:
      All
    • Workaround Exists:
      Yes
    • Workaround Description:
      Hide
      Create a global push group that all clients are automatically assigned to and push to this group before adding another callback. Pushing to this group will effectively mean that any outstanding long poll will be killed on the server side via a notification to the dummy group.
      Show
      Create a global push group that all clients are automatically assigned to and push to this group before adding another callback. Pushing to this group will effectively mean that any outstanding long poll will be killed on the server side via a notification to the dummy group.

      Description

      This is an inherent problem with the current push protocol. To summarize imagine the following scenario:

      a clientside application (GWT or pure JS) initializes and creates a push id. A group and callback are added to this id and a long poll is started. This poll will last X seconds (for simplicity lets assume 50s).

      Now, 5 seconds later a new push id is needed with a new group and callback. The listen.icepush call is still outstanding (45 seconds to go) and it has already provided a list of push ids as post data. Thus the client will not receive any push updates to the newly created push id for another 45 seconds (when the next poll is started and the push id is listed in the post data of the next request.).

      Not sure what the best solution to this problem is- two come to mind:

      1.) kill the oustanding request if a new push id is registered to a callback

      2.) update the protocol to not require the push ids as post data in the listen.icepush call.

        Activity

          People

          • Assignee:
            Mircea Toma
            Reporter:
            Patrick Wilson
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: