Host Client vs Relay Server

I'm trying to understand the key differences between BOLT's host client model vs PUN's dedicated server model. I understand that BOLT requires that one of the clients needs to act as the server. Then doesn't this also mean that the hosting machine is acting as the relay server, receiving and passing information between all other clients?

In the PUN vs BOLT doc we have:
Bolt's messages must always pass through the hosting machine, even when running a game through relay and not using authoritative server logic. This adds a bit more latency to Bolt-based games.

PUN doesn't suffer from that caveat, as it's serialisation code sends data from a client to all the other peers through the relay by default (without having to pass through the master-client).
But if the BOLT master client is the relay server, then why the extra latency? I realize I must be confused about the relay server concept, can someone shed some light on it for me or point me toward pertinent docs?

Thanks!

Comments