78 lines
1.6 KiB
Markdown
78 lines
1.6 KiB
Markdown
|
# PubSub client
|
||
|
|
||
|
## Quick and easy
|
||
|
1. run `sudo docker build -t client .`
|
||
|
2. run `sudo docker run --rm --network=host -it client publish topic message`
|
||
|
2. run `sudo docker run --rm --network=host -it client consume topic`
|
||
|
|
||
|
## With Cargo
|
||
|
1. run `cargo build --release`
|
||
|
2. run `./target/release/client publish topic message`
|
||
|
2. run `./target/release/client consume topic`
|
||
|
|
||
|
|
||
|
## CLI
|
||
|
Note that there are a few changes in the CLI interface as opposed to what's in
|
||
|
the email. Please see `--help` for details.
|
||
|
|
||
|
Examples (binary named client):
|
||
|
Publish a message
|
||
|
`client publish mytopic mymessage`
|
||
|
|
||
|
Consume a message (default timeout of 10s)
|
||
|
`client consume mytopic`
|
||
|
|
||
|
Consume a message with given timeout (seconds)
|
||
|
`client consume mytopic -t 15`
|
||
|
|
||
|
|
||
|
```
|
||
|
$ ./target/release/client --help
|
||
|
pubsub-rs 0.1.0
|
||
|
|
||
|
USAGE:
|
||
|
client [OPTIONS] <SUBCOMMAND>
|
||
|
|
||
|
OPTIONS:
|
||
|
-e, --endpoint <ENDPOINT> [default: localhost]
|
||
|
-h, --help Print help information
|
||
|
-p, --port <PORT> [default: 50051]
|
||
|
--protocol <PROTOCOL> [default: tcp] [possible values: http, tcp]
|
||
|
-V, --version Print version information
|
||
|
|
||
|
SUBCOMMANDS:
|
||
|
consume
|
||
|
help Print this message or the help of the given subcommand(s)
|
||
|
publish
|
||
|
```
|
||
|
|
||
|
Publish:
|
||
|
```
|
||
|
client-publish
|
||
|
|
||
|
USAGE:
|
||
|
client publish <TOPIC> <MESSAGE>
|
||
|
|
||
|
ARGS:
|
||
|
<TOPIC>
|
||
|
<MESSAGE>
|
||
|
|
||
|
OPTIONS:
|
||
|
-h, --help Print help information
|
||
|
```
|
||
|
|
||
|
Consume:
|
||
|
```
|
||
|
client-consume
|
||
|
|
||
|
USAGE:
|
||
|
client consume [OPTIONS] <TOPIC>
|
||
|
|
||
|
ARGS:
|
||
|
<TOPIC>
|
||
|
|
||
|
OPTIONS:
|
||
|
-h, --help Print help information
|
||
|
-t, --timeout <TIMEOUT> [default: 10]
|
||
|
```
|