Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/traconiq/tachoparser/llms.txt

Use this file to discover all available pages before exploring further.

The dddserver binary starts a gRPC server that accepts ParseVu and ParseCard requests. This page walks through building the binary, starting the server, and connecting a client.
The server uses a global mutex: only one parsing operation runs at a time. Concurrent requests are queued. If you need parallel throughput, run multiple dddserver instances behind a load balancer.

Server flags

FlagDefaultDescription
-listen:50055TCP address the gRPC server binds to
-statsd(empty)Address of a statsd server for metrics (e.g. localhost:8125)

Setup workflow

1

Build dddserver

Change into the cmd/dddserver directory and build the binary:
cd cmd/dddserver
go build .
Alternatively, run the project-level build script from the repository root to build all binaries at once:
./build-binaries-prod.sh
2

Start the server

Start with the default port:
./dddserver
To bind to a different address or port, use the -listen flag:
./dddserver -listen :50056
To enable statsd metrics reporting, add the -statsd flag:
./dddserver -listen :50055 -statsd localhost:8125
3

Connect a client

You can connect to the server using the bundled dddclient binary or any gRPC client that has access to the proto definition.Using dddclientBuild the client binary from cmd/dddclient:
cd cmd/dddclient
go build .
Then pipe a DDD file to dddclient. Pass -vu for vehicle unit data or -card for driver card data:
cat tachodata.ddd | ./dddclient -addr localhost:50055 -vu
cat drivercard.ddd | ./dddclient -addr localhost:50055 -card
The client prints the parsed result as JSON to stdout.Using a custom gRPC clientPoint any gRPC client library at localhost:50055 using the proto definition at pkg/proto/dddparser.proto. The connection is plaintext (no TLS). See ParseVu and ParseCard for request and response field details.

Regenerating protobuf bindings

If you modify dddparser.proto, regenerate the Go bindings from inside the pkg/proto directory:
protoc *.proto --go_out=. --go-grpc_out=.
This requires protoc, protoc-gen-go, and protoc-gen-go-grpc to be installed.

Build docs developers (and LLMs) love