-
Notifications
You must be signed in to change notification settings - Fork 3k
Description
- Type: Enhancement
- Priority: Major
Enhancement
Currently there's no central way of creating a NetworkInterface
, each interface type is different or even each vendor requires different initialization code. That makes our networking client code confusing, hard to maintain and plainly ugly. It would also help to keep our test clean and avoid unnecessary code duplication.
Proposed solution
One way of addressing this issue could be to introduce a factory class Networking
which would be an main point for user to create built in networking interfaces (user would still need to use vendor specific classes for any external modules). Networking
class should provide (static?) methods to get built in interface of each type, as I don't think there's a point of pretending they are the same when they are not. We could start with EthernetInterface getEthernet()
and WiFiInterface getWiFi()
and extend it for other IP based networks.
Prerequisites
- EMAC unification for WiFi and Ethernet
- Support for multiple interface on one target