An open API service indexing awesome lists of open source software.

https://github.com/dhunanyan/highway-network

Concurrent highway toll-network simulator in C using processes, threads, IPC, shared memory, semaphores, and signals.
https://github.com/dhunanyan/highway-network

c concurrency ipc message-queues multiprocessing multithreading operating-systems pipes posix semaphores shared-memory signals simulation systems-programming university-project

Last synced: about 15 hours ago
JSON representation

Concurrent highway toll-network simulator in C using processes, threads, IPC, shared memory, semaphores, and signals.

Awesome Lists containing this project

README

          

# Highway Network

Local machine highway toll-network simulator with shared live state.


Logo

## Components

- `simulatord` (C): single source of truth for simulation state.
- `CLI monitor` (C): terminal client connected to daemon.
- `GUI app` (Electron): desktop visual client connected to daemon.

## Documentation

- [End User Guide](./docs/end-user-guide.md): detailed GUI guide, CLI guide, and class-topic mapping.

- [End User Guide (Polish Version)](./docs/end-user-guide-pl.md): detailed GUI guide, CLI guide, and class-topic mapping.

## Run

1. Build:

```bash
make build
```

2. Start daemon (terminal 1):

```bash
make run-simulator
```

3. Start CLI monitor (terminal 2):

```bash
make run-cli
```

4. Start GUI (terminal 3):

```bash
cd apps/gui
npm start
```

Now both CLI and GUI interact with the same live state.

## Socket Protocol

UNIX socket: `build/highway-network.sock`

Commands:

- `STATE`
- `TICK `
- `RESET`
- `QUIT`

Response: single-line JSON snapshot.