General remarks/questions with regard to the information being stored in class Frame:
I see that you usually tend to separate out different bit-flags into their individual pike member variables of type int. Case in point: fin, rsv1, rsv2, rsv3 and mask. Why don't you choose something closer to the wire-format where you use: int flags; enum { FIN = 0x80, RSV1 = 0x40, RSV2 = 0x20, RSV3 = 0x10 } and then test for fin using: flags & FIN etc. ? It's not like we require an ultra-userfriendly API to the basic frame flags. It just needs to efficient and readable. -- Stephen.