Simplified the build mecanism
Packet.build() is called only on the first layer. It will call Packet.do_build() which will recurse through all layers. For each layer, it will call Packet.self_build() which will do the job for each layer. Packet.do_build() will call Packet.post_build() and transform on them, and concatenate them. Then Packet.build() will call Packet.build_padding() and Packet.build_done(). Note that this undetermined case will have a different behavior: Raw("ABC")/Padding("abc")/Raw("DEF")/Padding("def") It was "ABCabcDEFdef" Now it is "ABCDEFabcdef"
Loading
Please register or sign in to comment