blob: be020f5d242b66ea5634426fd4a008f1f917774d [file] [log] [blame]
--------------------------------------------------------------------------------
Building the DIAL server
--------------------------------------------------------------------------------
1) Define the TARGET environment variable to point to the CC compiler prefix
for your target platform.
For example, using the NRDP-3.2 x86 desktop toolchain, the CC is located at:
/usr/local/i686-netflix-linux-gnu-3.2/bin/i686-netflix-linux-gnu-gcc
2) Run make, passing in your TARGET value.
For example:
TARGET=/usr/local/i686-netflix-linux-gnu-3.2/bin/i686-netflix-linux-gnu- make
--------------------------------------------------------------------------------
Running the DIAL server
--------------------------------------------------------------------------------
The DIAL server should be started as a service, after the platform's networking
has been initialized, and it should remain running at all times (a daemon
process in the system).
Sample SysV init scripts are available on the Netflix NRD Partner portal.
--------------------------------------------------------------------------------
Building the DIAL client
--------------------------------------------------------------------------------
The DIAL client is a standalone C++ console application you can use to test
a running DIAL server implementation on your device. Unlike the server, which
is built for, and meant to run on your device, the client is meant to run on
your desktop (development) machine.
The DIAL client uses CURL to send HTTP REST commands to the DIAL server, so to
build the client, you need to ensure that the CURL dependecies are
defined properly. If you are a Netflix NRD partner and have the NRD Platform
desktop toolchain installed, it includes libcurl. To build against that version,
use the following build command:
TARGET=/usr/local/i686-netflix-linux-gnu-3.2/bin/i686-netflix-linux-gnu- \
LDFLAGS="-L/usr/local/i686-netflix-linux-gnu-3.2/netflix/lib \
-Wl,-rpath,/usr/local/i686-netflix-linux-gnu-3.2/netflix/lib" \
INCLUDES=-I/usr/local/i686-netflix-linux-gnu-3.2/netflix/include \
make
Alternatively, you can build against a different, current version of libcurl.
Adjust the INCLUDES and LDFLAGS definitions to point to your actual libcurl
header and library locations. In most cases, you can omit the TARGET define.
Note: the -rpath argument passed to LDFLAGS specifies the libcurl location
to the runtime linker.
--------------------------------------------------------------------------------
Running the DIAL client in interactive (menu) mode
--------------------------------------------------------------------------------
1) The DIAL client application must be running in the same subnet as the
DIAL server.
2) Start the client: ./dialclient (or ./dialclient -m)
The on-screen menu will list all available actions.
--------------------------------------------------------------------------------
Running the DIAL client in conformance test (non-interactive) mode
--------------------------------------------------------------------------------
1) The DIAL client application must be running in the same subnet as the
DIAL server.
2) Start the client:
./dialclient -i [input-file] [-o output-file] [-a server-IP-addr]
In script-driven mode, the client reads in an input-file, executes the
instructions in the input-file, and generates a
report. The default file locations (which can be overridden) are:
./dialclient_input.txt
./report.html
--------------------------------------------------------------------------------
DIAL client Usage
--------------------------------------------------------------------------------
When running the DIAL client, you have the following options
usage: dialclient <option>
Option Parameter Description
-h none Usage menu
-m none Use menu
-o filename Reporter output file (./report.html)
-i filename Input File (./dialclient_input.txt)
-a ip_address IP addr of DIAL server (used for conformance testing)
If you do not provide an ip_address and multiple servers are discovered, the
client will prompt you to select a server.