Multiplexing has a few different components, but I'm guessing you're asking
about multiplexing over the same connection to the server. Two tabs/windows
cannot currently easily share connections in browsers. As such, if there are
two tabs open, they must have independent connections to the server—even
though these connections may ultimately communicate with a single CometActor
instance.
Additionally, if multiple CometActors are referenced on one page, they
communicate through one connection to the server.
Now, to your observed behavior. Browsers have a limit on the number of
connections they may have to the same host. That limit varies by browser.
Lift keeps track of connections per session; in cases where a session is
trying to maintain more comet connections than the browser would support
having simultaneously, Lift serializes the long-poll connections into short-
poll connections. This means a lot of requests with no response data, but
it ensures that if, say, you open another tab, you will still be able to load it
normally.
That said, this shouldn't kick in at just two tabs unless you're using a browser
we don't recognize properly. I believe we default to serializing early, but if
we recognize the browser as one that supports many connections, we pay
attention to that number of connections.
Thanks,
Antonio