WAMPex is a client library for the [WAMP protocol](https://wamp-proto.org/index.html)
-This client library currently implements the [Basic Profile](https://wamp-proto.org/_static/gen/wamp_latest.html#basic-and-advanced-profiles)
+This client library currently implements the [Basic Profile](https://wamp-proto.org/_static/gen/wamp_latest.html#basic-and-advanced-profiles) and some features of the Advanced Profile
+
+Transport support is currently only available over WebSocket
+
+MessagePack and JSON serialization are both supported
+
+## Basic Profile
+
+### Session
+- [x] HELLO
+- [x] WELCOME
+- [x] ABORT
+- [x] GOODBYE
+- [x] ERROR
+
+### PubSub
+- [x] SUBSCRIBE
+- [x] SUBSCRIBED
+- [x] UNSUBSCRIBE
+- [x] UNSUBSCRIBED
+- [x] PUBLISH
+- [x] PUBLISHED
+- [x] EVENT
+
+### RPC
+- [x] REGISTER
+- [x] REGISTERED
+- [x] UNREGISTER
+- [x] UNREGISTERED
+- [x] CALL
+- [x] INVOCATION
+- [x] YIELD
+- [x] RESULT
+
+## Advanced Profile
+### Authentication
+- [x] CHALLENGE
+- [x] AUTHENTICATE
+- [x] CANCEL
+- [x] INTERRUPT
+
+### RPC
+- [x] Progressive Call Results
+- [x] Progressive Calls
+- [x] Call Canceling
+- [ ] call_timeout
+- [ ] caller_identification
+- [ ] call_trustlevels
+- [ ] registration_meta_api
+- [ ] pattern_based_registration
+- [ ] shared_registration
+- [ ] sharded_registration
+- [ ] registration_revocation
+- [ ] procedure_reflection
+
+### PubSub
+- [ ] subscriber_blackwhite_listing
+- [ ] publisher_exclusion
+- [ ] publisher_identification
+- [ ] publication_trustlevels
+- [ ] subscription_meta_api
+- [ ] pattern_based_subscription
+- [ ] sharded_subscription
+- [ ] event_history
+- [ ] topic_reflection
+
+### Other
+- [x] challenge-response authentication
+- [ ] cookie authentication
+- [ ] ticket authentication
+- [ ] rawsocket transport
+- [ ] batched WS transport
+- [ ] longpoll transport
+- [ ] session meta api
-This means, currently, there is no authentication, but it is on the roadmap.
## Installation
[
{:wampex,
git: "https://gitlab.com/entropealabs/wampex",
- tag: "d4ea14ca312d290a5db95770996c3d56b9b66add"}
+ tag: "0f203fe1b58a75f04f4ab1407534dcd083b7ebb0"}
]
end
```
## Documentation
-The package isn't published to hex yet, so to view the docs you'll need to check out the repo and run `mix docs`.
+The package isn't published to hex yet, so to view the docs you'll need to check out the repo and run `mix docs`.
Module documentation is light at the moment, but everything has specs and passes Dialyzer testing.
"ErrorEquals": [":abort"],
"Next": "Abort"
}
-
+
]
},
"Established": {