BlueBrain / Rockets

REST and websockets C++ library
GNU Lesser General Public License v3.0
38 stars 8 forks source link

Add support for subscriptions #38

Open rolandjitsu opened 6 years ago

rolandjitsu commented 6 years ago

Currently, all events broadcasted from the server are sent over the wire to all clients. While this is expected behaviour, it is sometimes undesirable.

I propose using the pub/sub pattern where clients can subscribe to specific RPC methods and only receive messages for those methods that the client subscribed to.

By default, the server, would send messages for a specific method only to the clients that subscribed to that method.

E.g. of subscribe RPC:

{
    "jsonrpc": "2.0",
    "method": "subscribe", // "unsubscribe" when user don't want messages for the method anymore
    "params": {
        "method": "SOME_METHOD"
    }
}
tolokoban commented 5 years ago

I agree! That's exactly what I need too.