Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/i22-digitalagentur/vertx-wamp
A simple WAMP broker for your Vert.x-based application
https://github.com/i22-digitalagentur/vertx-wamp
Last synced: 3 months ago
JSON representation
A simple WAMP broker for your Vert.x-based application
- Host: GitHub
- URL: https://github.com/i22-digitalagentur/vertx-wamp
- Owner: i22-digitalagentur
- License: apache-2.0
- Created: 2020-12-21T10:04:08.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2021-04-03T21:50:43.000Z (over 3 years ago)
- Last Synced: 2024-04-10T09:55:18.618Z (7 months ago)
- Language: Java
- Size: 187 KB
- Stars: 2
- Watchers: 6
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- vertx-awesome - WAMP Broker - A WAMP broker you can embed into your Vert.x application. (Integration)
README
# Vert.x WAMP
This component provides a Vert.x-based WAMP broker using the basic profile.
It's very basic but does the job 😉
Authorization can be handled by implementing the `io.vertx.wamp.SecurityPolicy`
interface and setting it on your server.The `SecurityPolicy` controls whether a client gets permission to connect to the
broker, join a specific realm or subscribe or publish to a specific topic.In addition to serving as a broker, there is a (non-standard)
`io.vertx.wamp.Realm#publishMessage` method to directly publish messages without
needing to separately connect with a client.To start the server, instantiate it in your verticle like so
```kotlin
val realm = Realm(Uri("com.example.wamp"))
val wampServer = WAMPWebsocketServer.create(vertx)
wampServer.addRealm(realm)
.withSecurityPolicy(SecurityPolicy)
.listen(8080, "127.0.0.1")
```## Features
- JSON and MsgPack subprotocol support
- broker functionality (connect/publish/subscribe/unsubscribe)
- security mechanism to let the broker control who can connect, publish or subscribe to which topic## Roadmap / Desirable features
1. RPC support
2. Advanced Profile / Authentication## Development
### Running tests
```shell
$ mvn verify
```### Contributing
Contributions of all kinds are welcome! If you spot an error, please report
it via a Github issue.