coturn TURN server project
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
coturn/docs/Developer.md

71 lines
1.4 KiB

## Developer
### Modules
The coturn repository includes different applications and libraries. The next diagram represents those modules and their dependencies:
```mermaid
---
config:
class:
hideEmptyMembersBox: true
---
classDiagram
note for relay "turn server process"
relay --> server
note for stunclient "STUN test app"
stunclient --> client
note for uclient "TURN test/stress app"
uclient --> common
uclient --> client
note for natdiscovery "discover NAT test app"
natdiscovery --> common
natdiscovery --> client
note for peer "fake receiver"
peer --> client
note for oauth "create&validate tokens"
oauth --> common
oauth --> client
note for rfc5769_check "run vector tests"
rfc5769_check --> common
note for client_cpp "C++ wrapper lib"
client_cpp --> client
relay --> common
namespace test_apps {
class stunclient {
}
class uclient {
}
class natdiscovery {
}
class peer {
}
class oauth {
}
class rfc5769_check {
}
}
```
### Flow chart
![FlowChart](drawio/FlowChart.svg)
### Edit flow chart
- Use [drawio](https://app.diagrams.net/) to edit.
1. Open [drawio](https://app.diagrams.net/) in brower
2. Menu → File → Open from ... → Device:
Select [FlowChart.html](drawio/FlowChart.html)
3. Edit flow chart
4. Export to svg:
Menu → File → Export as... → SVG...