Bug #3318
Updated by Junxiao Shi about 9 years ago
Not all `Transport` subclasses currently available in NFD implement an overridden `beforeChangePersistency` method, although they all should. Specifically: * `MulticastUdpTransport` only supports permanent * `UnicastUdpTransport` supports all 3 kinds of persistency, but not all transitions are allowed (this logic is currently in `UdpChannel` but it should be removed from there) * `UnixStreamTransport` only supports on-demand * `TcpTransport` currently implements an override which accepts the transition on-demand \<-\> ⟷ persistent in either direction, I'm not sure if this is correct (what's the difference *semantically* between on-demand and persistent in the TCP case anyway?) `EthernetTransport` and `WebSocketTransport` already implement a correct override as far as I can see. I also propose to make `Transport::beforeChangePersistency` pure virtual. The reason is that the great majority of transports will have some kind of restriction in their persistency setting, therefore a pure virtual method ensures that subclasses won't forget to override it.