Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从twisted.internet.udp装饰端口类_Python_Protocols_Twisted_Twisted.internet - Fatal编程技术网

Python 从twisted.internet.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

是否有可能从twisted.internet.udp修饰端口类? 我想修改Port类的一些方法的行为,以便 松开或复制。。。或不时延迟数据包。 我的目标是“模拟”一些扰动,并测试我自己的协议(设计)是否正确 UDP)的行为正确

有什么想法吗


提前感谢

您不想以任何方式装饰、子类化或修改
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
。包装器还将继承实际实现的所有延迟和损失,这将使您无法可靠地测试所需的特定案例。