Currently there are a bunch of specialized Port implementations like TCPPort and SSLPort. The axiomatic port create command accepts a strports description of a port, then attempts to reverse-engineer the object it gets from passing this description to strports back into a specific port type. This involves using private Twisted APIs, and is very error-prone / brittle in general.
Instead of doing this, there should just be a StringEndpointPort type, which stores a string endpoint description; axiomatic port create could create such a Port item trivially, and it would also allow using any stream endpoint for which a parser has been implemented, without needing special support for them in Mantissa.
Currently there are a bunch of specialized Port implementations like
TCPPort
andSSLPort
. Theaxiomatic port create
command accepts astrports
description of a port, then attempts to reverse-engineer the object it gets from passing this description to strports back into a specific port type. This involves using private Twisted APIs, and is very error-prone / brittle in general.Instead of doing this, there should just be a
StringEndpointPort
type, which stores a string endpoint description;axiomatic port create
could create such a Port item trivially, and it would also allow using any stream endpoint for which a parser has been implemented, without needing special support for them in Mantissa.