diff options
author | Rafael H. Schloming <rhs@apache.org> | 2009-08-11 15:40:19 +0000 |
---|---|---|
committer | Rafael H. Schloming <rhs@apache.org> | 2009-08-11 15:40:19 +0000 |
commit | d22ac4bbbd52fc8cbf80f864c49c904b0b24a529 (patch) | |
tree | 1f140400747e507d88d69695046e13a5efcf0e52 /python/qpid/framer.py | |
parent | 0fc88ad654ed1dabf14c489ed5920b440a7fc6a2 (diff) | |
download | qpid-python-d22ac4bbbd52fc8cbf80f864c49c904b0b24a529.tar.gz |
- removed old and redundent tests
- removed old test harness in favor of qpid-python-test
- modified qpid-python-test to support "skipped" tests, these are
tests that failed due to an anticipated environmental reason such
as the broker is not running or it is the wrong version
- modified the qpid-python-test harness to exit with appropriate
error codes based on the test results
- modified the python clients to report version mismatches rather
than framing errors
- made qpid_config provide variables for 0-8, 0-9, and 0-10 versions
of the spec
- modified the 0-10 client to directly codegen classes
- added new 0-10 framing layer based on push parsing rather than pull
parsing
- added numerous framing tests
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@803168 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'python/qpid/framer.py')
-rw-r--r-- | python/qpid/framer.py | 63 |
1 files changed, 0 insertions, 63 deletions
diff --git a/python/qpid/framer.py b/python/qpid/framer.py index 0d82e4378b..4cd0ae6f26 100644 --- a/python/qpid/framer.py +++ b/python/qpid/framer.py @@ -26,48 +26,6 @@ from logging import getLogger raw = getLogger("qpid.io.raw") frm = getLogger("qpid.io.frm") -FIRST_SEG = 0x08 -LAST_SEG = 0x04 -FIRST_FRM = 0x02 -LAST_FRM = 0x01 - -class Frame: - - HEADER = "!2BHxBH4x" - HEADER_SIZE = struct.calcsize(HEADER) - MAX_PAYLOAD = 65535 - struct.calcsize(HEADER) - - def __init__(self, flags, type, track, channel, payload): - if len(payload) > Frame.MAX_PAYLOAD: - raise ValueError("max payload size exceeded: %s" % len(payload)) - self.flags = flags - self.type = type - self.track = track - self.channel = channel - self.payload = payload - - def isFirstSegment(self): - return bool(FIRST_SEG & self.flags) - - def isLastSegment(self): - return bool(LAST_SEG & self.flags) - - def isFirstFrame(self): - return bool(FIRST_FRM & self.flags) - - def isLastFrame(self): - return bool(LAST_FRM & self.flags) - - def __repr__(self): - return "%s%s%s%s %s %s %s %r" % (int(self.isFirstSegment()), - int(self.isLastSegment()), - int(self.isFirstFrame()), - int(self.isLastFrame()), - self.type, - self.track, - self.channel, - self.payload) - class FramingError(Exception): pass class Framer(Packer): @@ -137,24 +95,3 @@ class Framer(Packer): self.flush() finally: self.sock_lock.release() - - def write_frame(self, frame): - self.sock_lock.acquire() - try: - size = len(frame.payload) + struct.calcsize(Frame.HEADER) - track = frame.track & 0x0F - self.pack(Frame.HEADER, frame.flags, frame.type, size, track, frame.channel) - self.write(frame.payload) - if frame.isLastSegment() and frame.isLastFrame(): - self.flush() - frm.debug("SENT %s", frame) - finally: - self.sock_lock.release() - - def read_frame(self): - flags, type, size, track, channel = self.unpack(Frame.HEADER) - if flags & 0xF0: raise FramingError() - payload = self.read(size - struct.calcsize(Frame.HEADER)) - frame = Frame(flags, type, track, channel, payload) - frm.debug("RECV %s", frame) - return frame |