Мне нужно эмулировать сеть радиосвязи, состоящую из N узлов, со следующими свойствами:
- узлы либо отправляют, затем получают данные, либо получают, а затем отправляют данные, но не одновременно.
- данные, передаваемые по радиоканалу, принимаются всеми узлами, которые в это время находятся в режиме приема.
- если два или более узлов отправляют данные одновременно, данные теряются.
- синхронизация времени между узлами отсутствует.
В Go, если я использую канал для эмуляции среды передачи, данные сериализуются, и только один получатель получает данные, а не все.
Кроме того, я не могу придумать, как "испортить" данные, если два отправителя пытаются отправить их одновременно. Независимо от того, использую я мьютекс или нет, один из отправителей успешно отправит свое сообщение.