Python 从twisted.internet.udp装饰端口类
是否有可能从twisted.internet.udp修饰端口类? 我想修改Port类的一些方法的行为,以便 松开或复制。。。或不时延迟数据包。 我的目标是“模拟”一些扰动,并测试我自己的协议(设计)是否正确 UDP)的行为正确 有什么想法吗Python 从twisted.internet.udp装饰端口类,python,protocols,twisted,twisted.internet,Python,Protocols,Twisted,Twisted.internet,是否有可能从twisted.internet.udp修饰端口类? 我想修改Port类的一些方法的行为,以便 松开或复制。。。或不时延迟数据包。 我的目标是“模拟”一些扰动,并测试我自己的协议(设计)是否正确 UDP)的行为正确 有什么想法吗 提前感谢您不想以任何方式装饰、子类化或修改udp.Port类的行为,除非向Twisted提交上游补丁。首先,这门课真的应该保密;它从未打算用于公共用途,而是ireactrudp接口的一个实现细节 其次,这不是Twisted中唯一的实现细节。另请参见twist
提前感谢您不想以任何方式装饰、子类化或修改
udp.Port
类的行为,除非向Twisted提交上游补丁。首先,这门课真的应该保密;它从未打算用于公共用途,而是ireactrudp
接口的一个实现细节
其次,这不是Twisted中唯一的实现细节。另请参见twisted.internet.iocpreactor.udp.Port
,它没有共享太多的实现
您想要做的是简单地编写一个实现相同接口的包装器——实现的东西——然后执行
self.transport=MyPacketDelayingWrapper(self.transport)
在您的.中,您不希望以任何方式装饰、子类化或修改udp.Port
类的行为,除非向Twisted提交上游补丁。首先,这门课真的应该保密;它从未打算用于公共用途,而是ireactrudp
接口的一个实现细节
其次,这不是Twisted中唯一的实现细节。另请参见twisted.internet.iocpreactor.udp.Port
,它没有共享太多的实现
您想要做的是简单地编写一个实现相同接口的包装器—实现的东西—然后在您的应用程序中执行
self.transport=MyPacketDelayingWrapper(self.transport)
。也许您需要子类化而不是装饰。你查过源代码了吗?没有。请不要对这些进行子类化。也许你应该进行子类化而不是装饰。你查过源代码了吗?没有。请不要将这些子类化。谢谢你的回复。我会试试你的解决方案。为了测试,你不需要包装器。您需要实现所需行为的全新的IUDPTransport
。包装器还将继承实际实现的所有延迟和损失,这将使您无法可靠地测试所需的特定案例。感谢您的回复。我会试试你的解决方案。为了测试,你不需要包装器。您需要实现所需行为的全新的IUDPTransport
。包装器还将继承实际实现的所有延迟和损失,这将使您无法可靠地测试所需的特定案例。