SYNOPSIS
rds-gen -words [-s source_address:source_port ] [-d destination_address:destination_port ] [-f input_file ] [-m message_size ] [-l total_bytes ] [-i interval ]
rds-sink
-words
[-s listen_address:listen_port
]
[-f output_file
]
[-i interval
]
DESCRIPTION
The rds-gen and rds-sink utilities are used to stream data through RDS sockets. rds-gen reads data from a file descriptor and sends it as messages down an RDS socket. rds-sink receives messages from an RDS socket and writes it to a file descriptor.The following options are shared between rds-gen and rds-sink:
- -s address:port
- Binds the RDS socket to the given address and port. rds-gen will send messages from this address and port. rds-sink will receive messages sent to this address and port.
- -f file
- rds-gen will read data from this file and rds-sink will write data to this file. If '-' is given as the filename then rds-gen will use standard input and rds-sink will use standard output.
- -i interval_seconds
- An iterative summary of the number and size of messages that are sent and received is written to standard error at this interval.
In addition, rds-gen supports the following options:
- -d address:port
- Messages are sent to this destination address and port. If this option is specified multiple times then the messages are sent to each destination address in a round-robin fashion.
- -m message_size
- Specifies the size of the messages that are sent down the RDS socket. The default message size is 4k. The message size must not be greater than the buffer size.
- -l total_bytes
- Specifies the number of bytes that will be sent out the socket before rds-gen exits. If this is not specified and rds-gen was given a source file then it will run until it gets EOF from the file. If no file was given and this option is not specified then rds-gen will send data indefinitely.
EXAMPLES
rds-gen on host src sends infinite data to rds-sink on dest who prints out the amount of data it receives every second.
$ rds-sink -s dest:22222 -i 1
$ rds-gen -s src:11111 -d dest:22222
Read 100M from /dev/zero on src and write it to /dev/null on dest, printing stats on both sides every minute.
$ rds-sink -s dest:22222 -f /dev/null -i 60
$ rds-gen -s src:11111 -f /dev/zero -d dest:22222 -i 60
Watch rds-gen write data as fast as it can into a local black hole because there is no bound receiving socket.
$ rds-gen -s src:11111 -d localhost:31337 -i 1