Giter Site home page Giter Site logo

Comments (2)

oberstet avatar oberstet commented on May 25, 2024

The WAMP spec lists session|id as the first positional argument, and does not mention anything about it being nullable.

yes, the session_id must be filled (not null). and this should be filled for both these cases:

  1. subscriber explicitly unsubscribes while the session itself remains open
  2. subscriber session leaves - deliberately or otherwise - and the subscription ends implicitly because the subscribed session is gone

that means: if crossbar doesn't fill it, that's a bug.

here is the sequence of code that I think is run.

the ID is fetched from session._session_id where session is a crossbar.router.session.RouterSession

https://github.com/crossbario/crossbar/blob/03d7057ee18a0d1e59b33bf1633ee246c1cf908a/crossbar/router/session.py#LL390C7-L390C20

the 2 cases above are exactly here

oberstet@intel-nuci7:~$ find scm/crossbario/crossbar/crossbar -name "*.py" -exec grep -Hin "on_unregister" {} \;
scm/crossbario/crossbar/crossbar/router/dealer.py:257:                                'wamp.registration.on_unregister',
scm/crossbario/crossbar/crossbar/router/dealer.py:660:                    service_session.publish('wamp.registration.on_unregister',
  1. crossbar.router.Dealer._unregister

service_session.publish('wamp.registration.on_unregister',

  1. crossbar.router.Dealer.detach

'wamp.registration.on_unregister',


not sure what might go wrong ... thing is, there are only a couple of places where _session_id is set None:

oberstet@intel-nuci7:~$ find scm/crossbario/crossbar/crossbar -name "*.py" -exec grep -Hin "\._session_id = None" {} \;

scm/crossbario/crossbar/crossbar/worker/proxy.py:121:        self._session_id = None
scm/crossbario/crossbar/crossbar/router/session.py:436:        self._session_id = None
scm/crossbario/crossbar/crossbar/router/session.py:637:                self._session_id = None
scm/crossbario/crossbar/crossbar/router/session.py:685:                self._session_id = None
scm/crossbario/crossbar/crossbar/router/session.py:746:            self._session_id = None
scm/crossbario/crossbar/crossbar/router/session.py:791:        self._session_id = None

from crossbar.

ecorm avatar ecorm commented on May 25, 2024

I've seen those nulls in the raw JSON message dumps while I was debugging, so I'm very confident it's not a problem on my end.

from crossbar.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.