You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@etch.apache.org by di...@apache.org on 2009/03/12 01:23:34 UTC

svn commit: r752702 [6/8] - in /incubator/etch/trunk/binding-python: ./ compiler/ compiler/src/main/java/etch/ compiler/src/main/java/etch/bindings/ compiler/src/main/java/etch/bindings/python/ compiler/src/main/java/etch/bindings/python/compiler/ comp...

Added: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/python/Singleton.py
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/binding-python/runtime/src/main/python/etch/python/Singleton.py?rev=752702&view=auto
==============================================================================
--- incubator/etch/trunk/binding-python/runtime/src/main/python/etch/python/Singleton.py (added)
+++ incubator/etch/trunk/binding-python/runtime/src/main/python/etch/python/Singleton.py Thu Mar 12 00:23:28 2009
@@ -0,0 +1,32 @@
+"""
+$Id: Singleton.py 712747 2008-08-16 21:53:35Z dixson3 $
+
+# Copyright 2007-2008 Cisco Systems Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not
+# use this file except in compliance with the License. You may obtain a copy
+# of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+"""
+
+__all__ = ['Singleton']
+
+singletons = {}
+
+class Singleton(object):
+    
+    def __new__(cls, *args, **kwargs):
+        if cls in singletons:
+            return singletons[cls]
+        self = object.__new__(cls)
+        cls.__init__(self, *args, **kwargs)
+        singletons[cls] = self
+        return self

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/python/Singleton.py
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/python/Singleton.py
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/python/SynchronizeOn.py
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/binding-python/runtime/src/main/python/etch/python/SynchronizeOn.py?rev=752702&view=auto
==============================================================================
--- incubator/etch/trunk/binding-python/runtime/src/main/python/etch/python/SynchronizeOn.py (added)
+++ incubator/etch/trunk/binding-python/runtime/src/main/python/etch/python/SynchronizeOn.py Thu Mar 12 00:23:28 2009
@@ -0,0 +1,39 @@
+"""
+$Id: SynchronizeOn.py 712747 2008-08-16 21:53:35Z dixson3 $
+
+# Copyright 2007-2008 Cisco Systems Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not
+# use this file except in compliance with the License. You may obtain a copy
+# of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+"""
+from __future__ import with_statement
+from __future__ import absolute_import
+from threading import Lock
+from .Singleton import *
+
+__all__ = ['SynchronizeOn']
+
+class _SynchronizeOn(Singleton):
+    
+    def __init__(self):
+        self.existingLocks = {}
+    
+    def __call__(self, lockname):
+        if lockname in self.existingLocks:
+            return self.existingLocks[lockname]
+        lock = Lock()
+        self.existingLocks[lockname] = lock
+        return lock
+    
+SynchronizeOn = _SynchronizeOn()
+

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/python/SynchronizeOn.py
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/python/SynchronizeOn.py
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/python/SynchronizedMap.py
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/binding-python/runtime/src/main/python/etch/python/SynchronizedMap.py?rev=752702&view=auto
==============================================================================
--- incubator/etch/trunk/binding-python/runtime/src/main/python/etch/python/SynchronizedMap.py (added)
+++ incubator/etch/trunk/binding-python/runtime/src/main/python/etch/python/SynchronizedMap.py Thu Mar 12 00:23:28 2009
@@ -0,0 +1,42 @@
+"""
+$Id: SynchronizedMap.py 712747 2008-08-16 21:53:35Z dixson3 $
+
+# Copyright 2007-2008 Cisco Systems Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not
+# use this file except in compliance with the License. You may obtain a copy
+# of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+"""
+from __future__ import absolute_import
+from __future__ import with_statement
+from threading import Lock
+
+class SynchronizedMap(dict):
+    """
+    Thread-Safe dict
+    """
+    
+    def __new__(cls, *args, **kwargs):
+        self = dict.__new__(cls,*args, **kwargs)
+        self.__lock = Lock()
+        return self
+    
+    def __setitem__(self, key, value):
+        with self.__lock:
+            super(SynchronizedMap,self).__setitem__(key,value)
+        
+    
+    def __delitem__(self, key, value):
+        with self.__lock:
+            super(SynchronizedMap,self).__delitem__(key)
+    
+    
\ No newline at end of file

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/python/SynchronizedMap.py
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/python/SynchronizedMap.py
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/python/Types.py
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/binding-python/runtime/src/main/python/etch/python/Types.py?rev=752702&view=auto
==============================================================================
--- incubator/etch/trunk/binding-python/runtime/src/main/python/etch/python/Types.py (added)
+++ incubator/etch/trunk/binding-python/runtime/src/main/python/etch/python/Types.py Thu Mar 12 00:23:28 2009
@@ -0,0 +1,187 @@
+"""
+etch.util.Types
+
+# Copyright 2007-2008 Cisco Systems Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not
+# use this file except in compliance with the License. You may obtain a copy
+# of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+"""
+import array
+import types
+import struct
+from etch.util.Exceptions import *
+
+Boolean = types.BooleanType
+
+class SignedFixedInteger(long):
+    BITSIZE   = 8
+    MASK      = (2**BITSIZE) - 1
+    MAX_VALUE = (MASK/2)
+    MIN_VALUE = -MAX_VALUE - 1
+    SIGNMASK  = MASK - MAX_VALUE + 1
+
+    def __new__(cls,i):
+        cls.MASK      = (2 ** cls.BITSIZE) - 1
+        cls.MAX_VALUE = (cls.MASK / 2)
+        cls.MIN_VALUE = -cls.MAX_VALUE - 1
+        cls.SIGNMASK  = cls.MASK - cls.MAX_VALUE + 1
+
+        return long.__new__(cls, cls.box(i))
+
+    @classmethod
+    def box(cls, i):
+        s = i
+        if abs(i) > cls.MAX_VALUE:
+            s = (i & cls.MASK) - cls.MASK - 1
+            if s < cls.MIN_VALUE:
+                s = s + cls.MASK + 1
+        return s
+
+    def __add__(self,b):
+        #return self.__class__(int(self) + int(b))
+        return self.__class__(super(SignedFixedInteger,self).__add__(b))
+
+    def __sub__(self,b):
+        #return self.__add__(-b)
+        return self.__class__(super(SignedFixedInteger,self).__sub__(b))
+
+    def __mul__(self,b):
+        #return self.__class__(int(self) * int(b))
+        return self.__class__(super(SignedFixedInteger,self).__mul__(b))
+
+    def __lshift__(self,b):
+        #return self.__class__(int(self) << int(b))
+        return self.__class__(super(SignedFixedInteger,self).__lshift__(b))
+
+    def __rshift__(self,b):
+        #return self.__class__(int(self) >> int(b))
+        return self.__class__(super(SignedFixedInteger, self).__rshift__(b))
+
+    def __rmul__(self,b):
+        return self.__mul__(b)
+
+    def __radd__(self,b):
+        return self.__add__(b)
+
+    def __rsub__(self,b):
+        # TODO - rsub
+        #super(SignedFixedInteger, self).__rsub__(x)
+        return self.__class__(super(SignedFixedInteger,self).__rsub__(b))
+
+class ByteArray(array.array):
+    
+    def __new__(cls, i=None):
+        if i == None:
+            initializer = None
+        elif isinstance(i, (int, long)) and i >= 0:
+            initializer = [0 for x in range(0,i)]
+        elif isinstance(i, (list, tuple)):
+            initializer = [Byte(x) for x in i]
+        elif isinstance(i, str):
+            initializer = [Byte(ord(x)) for x in i]
+        else:
+            raise IllegalArgumentException, "Must initialize with a size or a list of integers"
+        
+        if initializer:
+            return array.array.__new__(cls,'b',initializer)
+        else:
+            return array.array.__new__(cls,'b')
+        
+    @staticmethod
+    def copy(srcBuffer, srcIndex, destBuffer, destIndex, length):
+        # TODO - implement ByteArray.copy
+        srcEndIndex  = srcIndex + length
+        destEndIndex = destIndex + length
+        destBuffer[destIndex:destEndIndex] = srcBuffer[srcIndex:srcEndIndex]
+
+    @staticmethod
+    def toString(byteArray, encoding='UTF-8'):
+        # TODO - implement ByteArray.toString, account for encoding
+        return "".join([chr(x&0xff) for x in byteArray])
+
+class Byte(SignedFixedInteger):
+    BITSIZE   = 8
+    MASK      = (2**BITSIZE) - 1
+    MAX_VALUE = (MASK/2)
+    MIN_VALUE = -MAX_VALUE - 1
+    SIGNMASK  = MASK - MAX_VALUE + 1
+
+class Short(SignedFixedInteger):
+    BITSIZE   = 16
+    MASK      = (2**BITSIZE) - 1
+    MAX_VALUE = (MASK/2)
+    MIN_VALUE = -MAX_VALUE - 1
+    SIGNMASK  = MASK - MAX_VALUE + 1
+
+class Integer(SignedFixedInteger):
+    BITSIZE   = 32
+    MASK      = (2**BITSIZE) - 1
+    MAX_VALUE = (MASK/2)
+    MIN_VALUE = -MAX_VALUE - 1
+    SIGNMASK  = MASK - MAX_VALUE + 1
+
+class Long(SignedFixedInteger):
+    BITSIZE   = 64
+    MASK      = (2**BITSIZE) - 1
+    MAX_VALUE = (MASK/2)
+    MIN_VALUE = -MAX_VALUE - 1
+    SIGNMASK  = MASK - MAX_VALUE + 1
+
+class Float(float):
+    MIN_VALUE = float(1.4012984643248170e-45)
+    MAX_VALUE = float(3.4028234663852886e+38)    
+    
+    @staticmethod
+    def floatToIntBits(value):
+        a = 0
+        for i in map(ord, struct.pack('>f', Float(value))):
+            a = (a<<8) + i
+        return a           
+            
+    @staticmethod
+    def intBitsToFloat(value):
+        v = value & 0xffffffff
+        a = []
+        for i in range(0,4):
+            a.append(chr(v&0xff))
+            v >>= 8
+        a.reverse()    
+        s = "".join(a)
+        return Float(struct.unpack('>f',s)[0])
+    
+class Double(float):
+    MIN_VALUE = float(4.9000000000000000e-324)
+    MAX_VALUE = float(1.7976931348623157e+308)
+
+    @staticmethod
+    def longBitsToDouble(value):
+        v = value & 0xffffffffffffffff
+        a = []
+        for i in range(0,8):
+            a.append(chr(v&0xff))
+            v >>= 8
+        a.reverse()    
+        s = "".join(a)
+        return Double(struct.unpack('>d',s)[0])
+        
+    @staticmethod
+    def doubleToLongBits(value):
+        a = 0
+        for i in map(ord, struct.pack('>d', Double(value))):
+            a = (a<<8)+i
+        return a
+
+class String(str):
+    def getBytes(self, encoding):
+        # TODO - account for encoding
+        return self
\ No newline at end of file

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/python/Types.py
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/python/Types.py
------------------------------------------------------------------------------
    svn:executable = *

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/python/Types.py
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/python/__init__.py
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/binding-python/runtime/src/main/python/etch/python/__init__.py?rev=752702&view=auto
==============================================================================
--- incubator/etch/trunk/binding-python/runtime/src/main/python/etch/python/__init__.py (added)
+++ incubator/etch/trunk/binding-python/runtime/src/main/python/etch/python/__init__.py Thu Mar 12 00:23:28 2009
@@ -0,0 +1,25 @@
+"""
+$Id: __init__.py 712748 2008-08-17 05:58:09Z dixson3 $
+
+# Copyright 2007-2008 Cisco Systems Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not
+# use this file except in compliance with the License. You may obtain a copy
+# of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+"""
+from __future__ import absolute_import
+from .Array import *
+from .Exceptions import *
+from .Singleton import *
+from .SynchronizedMap import *
+from .SynchronizedOn import *
+from .Types import *

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/python/__init__.py
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/python/__init__.py
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/AlarmListener.py
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/AlarmListener.py?rev=752702&view=auto
==============================================================================
--- incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/AlarmListener.py (added)
+++ incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/AlarmListener.py Thu Mar 12 00:23:28 2009
@@ -0,0 +1,19 @@
+"""
+$Id: AlarmListener.py 712749 2008-08-18 03:26:52Z dixson3 $
+
+# Copyright 2007-2008 Cisco Systems Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not
+# use this file except in compliance with the License. You may obtain a copy
+# of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+"""
+from __future__ import absolute_import
\ No newline at end of file

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/AlarmListener.py
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/AlarmListener.py
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/AlarmManager.py
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/AlarmManager.py?rev=752702&view=auto
==============================================================================
--- incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/AlarmManager.py (added)
+++ incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/AlarmManager.py Thu Mar 12 00:23:28 2009
@@ -0,0 +1,19 @@
+"""
+$Id: AlarmManager.py 712749 2008-08-18 03:26:52Z dixson3 $
+
+# Copyright 2007-2008 Cisco Systems Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not
+# use this file except in compliance with the License. You may obtain a copy
+# of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+"""
+from __future__ import absolute_import
\ No newline at end of file

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/AlarmManager.py
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/AlarmManager.py
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/ArrayIterator.py
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/ArrayIterator.py?rev=752702&view=auto
==============================================================================
--- incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/ArrayIterator.py (added)
+++ incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/ArrayIterator.py Thu Mar 12 00:23:28 2009
@@ -0,0 +1,19 @@
+"""
+$Id: ArrayIterator.py 712749 2008-08-18 03:26:52Z dixson3 $
+
+# Copyright 2007-2008 Cisco Systems Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not
+# use this file except in compliance with the License. You may obtain a copy
+# of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+"""
+from __future__ import absolute_import
\ No newline at end of file

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/ArrayIterator.py
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/ArrayIterator.py
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/CircularQueue.py
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/CircularQueue.py?rev=752702&view=auto
==============================================================================
--- incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/CircularQueue.py (added)
+++ incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/CircularQueue.py Thu Mar 12 00:23:28 2009
@@ -0,0 +1,19 @@
+"""
+$Id: CircularQueue.py 712749 2008-08-18 03:26:52Z dixson3 $
+
+# Copyright 2007-2008 Cisco Systems Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not
+# use this file except in compliance with the License. You may obtain a copy
+# of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+"""
+from __future__ import absolute_import
\ No newline at end of file

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/CircularQueue.py
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/CircularQueue.py
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/FlexBuffer.py
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/FlexBuffer.py?rev=752702&view=auto
==============================================================================
--- incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/FlexBuffer.py (added)
+++ incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/FlexBuffer.py Thu Mar 12 00:23:28 2009
@@ -0,0 +1,617 @@
+"""
+etch.util.FlexBuffer
+
+# Copyright 2007-2008 Cisco Systems Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not
+# use this file except in compliance with the License. You may obtain a copy
+# of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+"""
+from struct import pack,unpack
+from etch.util.Types import *
+from etch.util.Exceptions import *
+
+__all__ = ['FlexBuffer']
+
+class FlexBuffer:
+    INIT_BUFFER_LEN = 32
+    MAX_BUFFER_LEN  = 4*1024*1024
+    littleEndian    = False
+
+    def __init__(self, *args):
+        """
+        Constructs the FlexBuffer out of an existing buffer, ready to
+        read, with the specified index and length. The buffer is
+        adopted, not copied. If you want a copy, use a put method
+        instead.
+
+        Note: if you want to start off writing to the end of the buffer
+        and not reading it, specify index as the place to start writing,
+        and length as the amount of data that is valid after index
+        (which might reasonably be 0).
+
+        @param buffer     (optional) the buffer to adopt
+        @param index      (optional but requires buffer and length) the place to start reading and writing
+        @param length     (optional but requires buffer) the length of the valid data in the buffer,
+        starting at index
+        """
+
+        cls = self.__class__
+
+        if len(args) == 0:
+            buffer = ByteArray(cls.INIT_BUFFER_LEN)
+            index  = 0
+            length = 0
+        elif len(args) == 1:
+            buffer = args[0]
+            if not isinstance(buffer, ByteArray):
+                raise IllegalArgumentException, "buffer must be a ByteArray"
+            index = 0
+            length = len(buffer)
+        elif len(args) == 2:
+            buffer = args[0]
+            if not isinstance(buffer, ByteArray):
+                raise IllegalArgmentException, "buffer must be a ByteArray"
+            index = 0
+            length = args[1]
+            if not isinstance(length, (int, long)):
+                raise IllegalArgumentException, "length must be an integer"
+        elif len(args) == 3:
+            buffer = args[0]
+            index  = args[1]
+            length = args[2]
+            if not isinstance(buffer, ByteArray):
+                raise IllegalArgumentException, "Buffer must be a ByteArray"
+            if not isinstance(index, (int,long)) or not isinstance(length, (int, long)):
+                raise IllegalArgumentException, "index and length must be integers"
+        else:
+            raise IllegalArgumentException, "Invalid arguments to constructor"
+
+        if buffer == None:
+            raise NullPointerException, "buffer cannot be None"
+
+        if index < 0:
+            raise IllegalArgumentException, "index < 0"
+
+        if length < 0:
+            raise IllegalArgumentException, "length < 0"
+
+        if index+length > len(buffer):
+            raise IllegalArgumentException, "index+length > buffer.length()"
+
+        self._buffer = buffer
+        self._index  = index
+        self._length = index+length
+
+    def length(self):
+        """
+        @return the current value of length. This is the last index of
+        valid data in the buffer.
+        """
+        return self._length
+
+    def getLength(self):
+        """
+        Alias for FlexBuffer.length()
+        """
+        return self.length()
+
+    def setLength(self, length):
+        """
+        @param length    the new value of length. Length must be >= 0.
+        If length < index, index is also set to length. If length is
+        larger than current buffer, the buffer is expanded.
+        @return    this flex buffer object
+        @throws IllegalArgumentException    if length < 0
+        @throws IOException                 if the buffer overflows
+        max length.
+        """
+        if length < 0:
+            raise IllegalArgumentException, "length < 0"
+
+        self.ensureLength(length)
+        self._length = length
+        if self._index > length:
+            self._index = length
+
+        return self
+
+    def ensureLength(self, length):
+        """
+        Ensure buffer is at least 'length' in size, if it is
+        not, expand it.
+
+        @param length    the length to test
+        """
+        #print "ensureLength(%s)" % repr(length)
+        cls = self.__class__
+        n = len(self._buffer)
+        if length <= n:
+            #print "return %d <= %d" % (length, n)
+            return
+
+        # Not big enough, time to expand
+        k = n
+        if k < self.INIT_BUFFER_LEN:
+            k = self.INIT_BUFFER_LEN
+
+        while length > k and k < cls.MAX_BUFFER_LEN:
+            k <<= 1
+
+        if length > k:
+            #print "IOException: %d > %d" % (length, k)
+            raise IOException, "buffer overflow"
+
+        #print "creating new bytearray of size(%d)" % k
+        b = ByteArray(k)
+        ByteArray.copy(self._buffer, 0, b, 0, n)
+        self._buffer = b
+        #print "New length: self._buffer = %d" % len(self._buffer)
+
+    def fixLength(self):
+        """
+        If the index has moved past length during a put, then adjust
+        length to track index.
+        """
+        if self._index > self._length:
+            self._length = self._index
+
+    def index(self):
+        """
+        @return the current value of index
+        """
+        return self._index
+
+    def getIndex(self):
+        """
+        Alias for FlexBuffer.index()
+        """
+        return self.index()
+
+    def setIndex(self, index):
+        """
+        @param index    the new value of index. Index must be >= 0.
+        @return         this flex buffer object
+        @throws IllegalArgumentException if index < 0 or index > length.
+        """
+        if index < 0 or index > self._length:
+            raise IllegalArgumentException, "index < 0 || index > length"
+
+        self._index = index
+        return self
+
+    def avail(self):
+        """
+        @return length-index. Result is always >= 0. This is the ammount
+        of data that could be read using the various forms of get. It
+        doesn't really mean anything in relation to put.
+        """
+        return self._length - self._index
+
+    def checkAvail(self, length):
+        """
+        Checks that there are enough bytes for a read.
+
+        @param length    the length required by the read operation.
+        @throws EOFException if length > avail()
+        """
+        if length > self.avail():
+            raise EOFException, "length > avail()"
+
+    def reset(self):
+        """
+        Sets both the index and length to 0. Shorthand for FlexBuffer.setLength(0)
+
+        @return this flex buffer object
+        """
+        return self.setLength(0)
+
+    def compact(self):
+        """
+        Compacts the buffer by moving remaining data (from index to
+        length) to the front of the buffer. Sets the index to 0, and
+        sets length to avail (before index is changed).
+
+        @return this flex buffer object
+        """
+        if self._index == 0:
+            return self
+
+        n = self.avail()
+        if n == 0:
+            return self.reset()
+
+        ByteArray.copy(self._buffer, self._index, self._buffer, 0, n)
+        self._index  = 0
+        self._length = n
+        return self
+
+    def skip(self, length, putFlag):
+        """
+        Adjust index as if by a get or put but without transferring any
+        data. This could be used to skip over a data item in an input
+        or output buffer.
+
+        @param length    the number of bytes to skip over. length must
+        be >= 0. If putFlag is False, it is an error if length > avail().
+        If putFlag is True, the buffer may be extended (and the buffer
+        length adjusted).
+        @param putFlag    if True it is ok to extend the length of the
+        buffer.
+        @return     this flex buffer object
+        @throws    EOFException if putFlag is False and length > avail()
+        @throws    IOException if the max buffer size is exceeded
+        """
+        if length < 0:
+            raise IllegalArgumentException, "length < 0"
+
+        if length == 0:
+            return self
+
+        if putFlag:
+            self.ensureLength(self._index + length)
+            self._index += length
+            self.fixLength()
+            return self
+
+        self.checkAvail(length)
+        self._index += length
+        return self
+
+    def getBuf(self):
+        """
+        @return the current ByteArray. Might change if any operation
+        needs to extend length past end of array.
+        """
+        return self._buffer
+
+    def checkBuf(self, buffer, offset, length):
+        """
+        Checks buffer, offset and length for being reasonable.
+
+        @param buffer
+        @param offset
+        @param length
+        """
+        if buffer == None:
+            raise NullPointerException, "buffer is None"
+
+        if offset < 0 or offset > len(buffer):
+            raise IllegalArgumentException, "offset < 0 or offset > len(buffer)"
+
+        if length < 0:
+            raise IllegalArgumentException, "length < 0"
+
+        if offset+length > len(buffer):
+            raise IllegalArgumentException, "offset+length > len(buffer)"
+
+    def get(self, *args, **kwargs):
+        """
+        Copies data from the byte array. If no receive buffer is
+        specified a single, unsigned byte value is returned. If a
+        receive buffer is specified, the number of bytes are returned.
+        If the offset and len are specified, they must be within the
+        limits of buf.
+
+        @param buf  (optional) a buffer to receive the data
+        @param offset (optional, but requires buf and length) offset
+        in buf to receive the data
+        @param length (optional, but requires buf and offset) maximum
+        amount of data to transfer.
+        @returns the unsigned byte value if no buffer specified
+        otherwise returns the amount of data transferred.
+        @throws IOException if avail() < 1
+        """
+        if len(args) == 0:
+            self.checkAvail(1)
+            i = self._index
+            self._index += 1
+            # TODO - confirm this makes this an unsigned byte value
+            return self._buffer[i] & 0xff
+
+        if len(args) == 1:
+            buffer = args[0]
+            if not isinstance(buffer, ByteArray):
+                raise IllegalArgumentException, "buffer must be ByteArray"
+
+            offset = 0
+            length = len(buffer)
+        elif len(args) == 3:
+            buffer = args[0]
+            if not isinstance(buffer, ByteArray):
+                raise IllegalArgumentException, "buffer must be ByteArray"
+
+            offset = args[1]
+            length = args[2]
+            if not isinstance(offset, (int,long)) or not isinstance(length, (int,long)):
+                raise IllegalArgumentException, "offset and length must be integers"
+        else:
+            raise IllegalArgumentException, "Wrong number of arguments"
+
+        self.checkBuf(buffer, offset, length)
+        if length == 0:
+            return 0
+
+        self.checkAvail(1)
+        n = min(length, self.avail())
+        ByteArray.copy(self._buffer, self._index, buffer, offset, n)
+        self._index += n
+        return n
+
+    def getAvailBytes(self):
+        """
+        @return the currently available bytes.
+        @throws IOException
+        """
+        buf = ByteArray(self.avail())
+        self.get(buf)
+        return buf
+
+    def getFully(self, buffer):
+        """
+        Fills a buffer fully with the next available bytes
+
+        @param buffer
+        @throws IOException if avail() < buffer.length()
+        """
+        if not isinstance(buffer, ByteArray):
+            raise IllegalArgumentException, "buffer must be a ByteArray"
+
+        self.checkAvail(len(buffer))
+        n = self.get(buffer, 0, len(buffer))
+        if n != len(buffer):
+            raise IOException, "avail() < buffer.length()"
+
+    def getByte(self):
+        """
+        @return the next available byte
+        @raise IOException if avail() < 1
+        """
+        self.checkAvail(1)
+        i = self._index
+        self._index += 1
+        return self._buffer[i]
+    
+    def _getBytesAsString(self, length):
+        self.checkAvail(length)
+        start       = self._index
+        end         = start + length
+        self._index = end
+        return ByteArray.toString(self._buffer[start:end])
+    
+    def getShort(self):
+        """
+        @return a short composed from the next 2 bytes (littleEndian)
+        @raise IOException if avail() < 2.
+        """
+        s = self._getBytesAsString(2)
+        
+        if self.littleEndian:
+            fmt = "<h"
+        else:
+            fmt = ">h"
+        
+        return Short(unpack(fmt, s)[0])
+    
+    def getInt(self):
+        """
+        @return an int composed from the next 4 bytes
+        @raise IOException if avail() < 4.
+        """
+        s = self._getBytesAsString(4)
+        if self.littleEndian:
+            fmt = "<i"
+        else:
+            fmt = ">i"
+        return Integer(unpack(fmt, s)[0])
+
+    def getLong(self):
+        """
+        @return a long composed from the next 8 bytes.
+        @raise IOException if avail() < 8
+        """
+        s = self._getBytesAsString(8)
+        if self.littleEndian:
+            fmt = "<q"
+        else:
+            fmt = ">q"
+        
+        return Long(unpack(fmt, s)[0])
+    
+    def getFloat(self):
+        """
+        @return a float from the next available bytes
+        @raise IOException if avail() < 4
+        """
+        return Float.intBitsToFloat(self.getInt())
+    
+    def getDouble(self):
+        """
+        @return a double from the next available bytes
+        @raise IOException if avail() < 8
+        """
+        return Double.longBitsToDouble(self.getLong())
+    
+    def _put(self, b):
+        """
+        Puts a byte into the buffer at the current index, then
+        adjusts the index by one. Adjusts the length as necessary. The
+        buffer is expanded as needed.
+        
+        @param b
+        @return this flex buffer object
+        @raise IOException if the buffer overflows its max length.
+        """        
+        if not isinstance(b, (int, long)):
+            raise IllegalArgumentException, "b must be an integer"
+        
+        i = self._index
+        self.ensureLength(i + 1)
+        self._buffer[i] = Byte(b)
+        self._index = i + 1
+        self.fixLength()
+        return self
+    
+    def _putByteArray(self, buffer, offset=0, length=0):
+        """
+        Puts some bytes into the buffer as if by repeated calls to put.
+        
+        @param buf    the source of the bytes to put
+        @param off    the index to the first byte to put
+        @param len    the number of bytes to put
+        @return   this flex buffer object
+        @raise IOException if the buffer overflows its max length
+        """
+        self.checkBuf(buffer, offset, length)
+        if length == 0:
+            return self
+        
+        self.ensureLength(self._index + length)
+        
+        ByteArray.copy(buffer, offset, self._buffer, self._index, length)
+        self._index += length
+        self.fixLength()
+        
+        return self
+    
+    def _putFlexBuffer(self, buffer, length=None):
+        """
+        Copies the available bytes from the buffer into this buffer as if by
+        repeated execution of put(buffer.get()).
+        
+        @param buf   the flex buffer object
+        @param length (optional)
+        @return this flex buffer object
+        @raise IOException if the buffer overflows its max length
+        """
+        if length != None:
+            if length > buffer.avail():
+                raise IllegalArgumentException, "length > buffer.avail()"
+            n = length
+        else:
+            n = buffer.avail()
+            
+        self.put( buffer.getBuf(), buffer.index(), n)
+        buffer.skip(n, False)
+        return self
+
+    
+    def put(self, *args):
+        """
+        Put bytes in the buffer.
+        
+        @param b         a single byte -or- a ByteArray -or- a FlexBuffer
+        @param offset    (optional - requires b -> ByteArray) offset in ByteArray
+        @param length    (optional) length of ByteArray or FlexBuffer to copy
+        @return          this flex buffer object
+        @raise IOException if the buffer overflows its max length
+        @raise IllegalArgumentException on type errors
+        """
+        
+        if len(args) == 0:
+            raise IllegalArgumentException, "missing arguments"
+        elif len(args) == 1:
+            if isinstance(args[0], ByteArray):
+                return self._putByteArray(args[0], 0, len(args[0]))
+            elif isinstance(args[0], FlexBuffer):
+                return self._putFlexBuffer(args[0])
+            elif isinstance(args[0], (int, long)):
+                return self._put(args[0])
+            elif args[0] == None:
+                raise NullPointerException, "buffer cannot be None"
+            else:
+                raise IllegalArgumentException, "buffer must be int, or ByteArray or FlexBuffer"
+        elif len(args) == 2:
+            if isinstance(args[0], FlexBuffer):
+                return self._putFlexBuffer(*args)
+            elif args[0] == None:
+                raise NullPointerException, "buffer cannot be None"
+            else:
+                raise IllegalArgumentException, "buffer must be FlexBuffer"
+        elif len(args) == 3:
+            if isinstance(args[0], ByteArray):
+                return self._putByteArray(*args)
+            elif args[0] == None:
+                raise NullPointerException, "buffer cannot be None"
+            else:
+                raise IllegalArgumentException, "buffer must be ByteArray"
+        else:
+            raise IllegalArgumentException, "too many arguments"
+        
+
+    def putByte(self, value):
+        """
+        Puts a byte
+        @param value
+        @raise IOException
+        """
+        self.put(value)
+    
+    def putShort(self, value):
+        """
+        Put a short as the next 2 bytes.
+        
+        @param value
+        @raise IOException
+        """        
+        if self.littleEndian:
+            fmt = "<h"
+        else:
+            fmt = ">h"
+        
+        self.put(ByteArray(pack(fmt, Short(value))))
+    
+    def putInt(self, value):
+        """
+        Put a int as the next 4 bytes
+        
+        @param value
+        @raise IOException
+        """
+        if self.littleEndian:
+            fmt = "<i"
+        else:
+            fmt = ">i"
+        
+        self.put(ByteArray(pack(fmt, Integer(value))))
+    
+    def putLong(self, value):
+        """
+        Put a long as the next 8 bytes
+        
+        @param value
+        @raise IOException
+        """
+        if self.littleEndian:
+            fmt = "<q"
+        else:
+            fmt = ">q"
+        
+        self.put(ByteArray(pack(fmt, Long(value))))
+    
+    def putFloat(self, value):
+        """
+        Put the float as the next 4 bytes.
+        
+        @param value
+        @raise IOException
+        """
+        self.putInt(Float.floatToIntBits(value))
+        
+    def putDouble(self, value):
+        """
+        Put the double as the next 8 bytes.
+        
+        @param value
+        @raise IOException
+        """
+        self.putLong(Double.doubleToLongBits(value))
\ No newline at end of file

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/FlexBuffer.py
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/FlexBuffer.py
------------------------------------------------------------------------------
    svn:executable = *

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/FlexBuffer.py
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/Hash.py
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/Hash.py?rev=752702&view=auto
==============================================================================
--- incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/Hash.py (added)
+++ incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/Hash.py Thu Mar 12 00:23:28 2009
@@ -0,0 +1,37 @@
+"""
+$Id: Hash.py 712748 2008-08-17 05:58:09Z dixson3 $
+
+# Copyright 2007-2008 Cisco Systems Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not
+# use this file except in compliance with the License. You may obtain a copy
+# of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+"""
+from __future__ import absolute_import
+from ..python.Types import Integer
+
+class Hash(object):
+
+    @staticmethod
+    def hash(name):
+        """
+        Computes the hash value of the name to be used as the id
+        when constructing an IdName.
+
+        @param name    the name of the type or field
+        @return        a hash of name
+        """
+        hash   = Integer(5381)
+        for c in name:
+            h6    = hash << 6
+            hash  = (h6 << 10) + h6 - hash + ord(c)
+        return hash
\ No newline at end of file

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/Hash.py
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/Hash.py
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/IdGenerator.py
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/IdGenerator.py?rev=752702&view=auto
==============================================================================
--- incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/IdGenerator.py (added)
+++ incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/IdGenerator.py Thu Mar 12 00:23:28 2009
@@ -0,0 +1,19 @@
+"""
+$Id: IdGenerator.py 712749 2008-08-18 03:26:52Z dixson3 $
+
+# Copyright 2007-2008 Cisco Systems Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not
+# use this file except in compliance with the License. You may obtain a copy
+# of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+"""
+from __future__ import absolute_import
\ No newline at end of file

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/IdGenerator.py
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/IdGenerator.py
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/Monitor.py
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/Monitor.py?rev=752702&view=auto
==============================================================================
--- incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/Monitor.py (added)
+++ incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/Monitor.py Thu Mar 12 00:23:28 2009
@@ -0,0 +1,19 @@
+"""
+$Id: Monitor.py 712749 2008-08-18 03:26:52Z dixson3 $
+
+# Copyright 2007-2008 Cisco Systems Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not
+# use this file except in compliance with the License. You may obtain a copy
+# of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+"""
+from __future__ import absolute_import
\ No newline at end of file

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/Monitor.py
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/Monitor.py
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/Resources.py
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/Resources.py?rev=752702&view=auto
==============================================================================
--- incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/Resources.py (added)
+++ incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/Resources.py Thu Mar 12 00:23:28 2009
@@ -0,0 +1,19 @@
+"""
+$Id: Resources.py 712749 2008-08-18 03:26:52Z dixson3 $
+
+# Copyright 2007-2008 Cisco Systems Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not
+# use this file except in compliance with the License. You may obtain a copy
+# of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+"""
+from __future__ import absolute_import
\ No newline at end of file

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/Resources.py
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/Resources.py
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/TimeoutException.py
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/TimeoutException.py?rev=752702&view=auto
==============================================================================
--- incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/TimeoutException.py (added)
+++ incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/TimeoutException.py Thu Mar 12 00:23:28 2009
@@ -0,0 +1,19 @@
+"""
+$Id: TimeoutException.py 712749 2008-08-18 03:26:52Z dixson3 $
+
+# Copyright 2007-2008 Cisco Systems Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not
+# use this file except in compliance with the License. You may obtain a copy
+# of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+"""
+from __future__ import absolute_import
\ No newline at end of file

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/TimeoutException.py
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/TimeoutException.py
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/Todo.py
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/Todo.py?rev=752702&view=auto
==============================================================================
--- incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/Todo.py (added)
+++ incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/Todo.py Thu Mar 12 00:23:28 2009
@@ -0,0 +1,19 @@
+"""
+$Id: Todo.py 712747 2008-08-16 21:53:35Z dixson3 $
+
+# Copyright 2007-2008 Cisco Systems Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not
+# use this file except in compliance with the License. You may obtain a copy
+# of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+"""
+from __future__ import absolute_import
\ No newline at end of file

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/Todo.py
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/Todo.py
------------------------------------------------------------------------------
    svn:executable = *

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/Todo.py
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/TodoManager.py
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/TodoManager.py?rev=752702&view=auto
==============================================================================
--- incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/TodoManager.py (added)
+++ incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/TodoManager.py Thu Mar 12 00:23:28 2009
@@ -0,0 +1,19 @@
+"""
+$Id: TodoManager.py 712747 2008-08-16 21:53:35Z dixson3 $
+
+# Copyright 2007-2008 Cisco Systems Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not
+# use this file except in compliance with the License. You may obtain a copy
+# of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+"""
+from __future__ import absolute_import
\ No newline at end of file

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/TodoManager.py
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/TodoManager.py
------------------------------------------------------------------------------
    svn:executable = *

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/TodoManager.py
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/URL.py
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/URL.py?rev=752702&view=auto
==============================================================================
--- incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/URL.py (added)
+++ incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/URL.py Thu Mar 12 00:23:28 2009
@@ -0,0 +1,19 @@
+"""
+$Id: URL.py 712749 2008-08-18 03:26:52Z dixson3 $
+
+# Copyright 2007-2008 Cisco Systems Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not
+# use this file except in compliance with the License. You may obtain a copy
+# of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+"""
+from __future__ import absolute_import

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/URL.py
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/URL.py
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/__init__.py
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/__init__.py?rev=752702&view=auto
==============================================================================
--- incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/__init__.py (added)
+++ incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/__init__.py Thu Mar 12 00:23:28 2009
@@ -0,0 +1,25 @@
+"""
+$Id: __init__.py 712748 2008-08-17 05:58:09Z dixson3 $
+
+# Copyright 2007-2008 Cisco Systems Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not
+# use this file except in compliance with the License. You may obtain a copy
+# of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+"""
+from __future__ import absolute_import
+from .FlexBuffer import *
+from .Hash import *
+from .Todo import *
+from .TodoManager import *
+
+import core

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/__init__.py
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/__init__.py
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/Who.py
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/Who.py?rev=752702&view=auto
==============================================================================
--- incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/Who.py (added)
+++ incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/Who.py Thu Mar 12 00:23:28 2009
@@ -0,0 +1,16 @@
+"""
+# Copyright 2007-2008 Cisco Systems Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not
+# use this file except in compliance with the License. You may obtain a copy
+# of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+"""
\ No newline at end of file

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/Who.py
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/Who.py
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/__init__.py
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/__init__.py?rev=752702&view=auto
==============================================================================
--- incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/__init__.py (added)
+++ incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/__init__.py Thu Mar 12 00:23:28 2009
@@ -0,0 +1,22 @@
+"""
+$Id: __init__.py 712748 2008-08-17 05:58:09Z dixson3 $
+
+# Copyright 2007-2008 Cisco Systems Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not
+# use this file except in compliance with the License. You may obtain a copy
+# of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+"""
+from __future__ import absolute_import
+from .Who import *
+
+import io

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/__init__.py
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/__init__.py
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/Packetizer.py
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/Packetizer.py?rev=752702&view=auto
==============================================================================
--- incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/Packetizer.py (added)
+++ incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/Packetizer.py Thu Mar 12 00:23:28 2009
@@ -0,0 +1,19 @@
+"""
+$Id: Packetizer.py 712749 2008-08-18 03:26:52Z dixson3 $
+
+# Copyright 2007-2008 Cisco Systems Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not
+# use this file except in compliance with the License. You may obtain a copy
+# of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+"""
+from __future__ import absolute_import
\ No newline at end of file

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/Packetizer.py
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/Packetizer.py
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/Session.py
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/Session.py?rev=752702&view=auto
==============================================================================
--- incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/Session.py (added)
+++ incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/Session.py Thu Mar 12 00:23:28 2009
@@ -0,0 +1,16 @@
+"""
+# Copyright 2007-2008 Cisco Systems Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not
+# use this file except in compliance with the License. You may obtain a copy
+# of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+"""
\ No newline at end of file

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/Session.py
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/Session.py
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/SessionListener.py
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/SessionListener.py?rev=752702&view=auto
==============================================================================
--- incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/SessionListener.py (added)
+++ incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/SessionListener.py Thu Mar 12 00:23:28 2009
@@ -0,0 +1,19 @@
+"""
+$Id: SessionListener.py 712749 2008-08-18 03:26:52Z dixson3 $
+
+# Copyright 2007-2008 Cisco Systems Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not
+# use this file except in compliance with the License. You may obtain a copy
+# of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+"""
+from __future__ import absolute_import
\ No newline at end of file

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/SessionListener.py
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/SessionListener.py
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/SessionPacket.py
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/SessionPacket.py?rev=752702&view=auto
==============================================================================
--- incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/SessionPacket.py (added)
+++ incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/SessionPacket.py Thu Mar 12 00:23:28 2009
@@ -0,0 +1,19 @@
+"""
+$Id: SessionPacket.py 712749 2008-08-18 03:26:52Z dixson3 $
+
+# Copyright 2007-2008 Cisco Systems Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not
+# use this file except in compliance with the License. You may obtain a copy
+# of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+"""
+from __future__ import absolute_import
\ No newline at end of file

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/SessionPacket.py
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/SessionPacket.py
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/TcpConnection.py
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/TcpConnection.py?rev=752702&view=auto
==============================================================================
--- incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/TcpConnection.py (added)
+++ incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/TcpConnection.py Thu Mar 12 00:23:28 2009
@@ -0,0 +1,19 @@
+"""
+$Id: TcpConnection.py 712749 2008-08-18 03:26:52Z dixson3 $
+
+# Copyright 2007-2008 Cisco Systems Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not
+# use this file except in compliance with the License. You may obtain a copy
+# of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+"""
+from __future__ import absolute_import
\ No newline at end of file

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/TcpConnection.py
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/TcpConnection.py
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/TlsConnection.py
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/TlsConnection.py?rev=752702&view=auto
==============================================================================
--- incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/TlsConnection.py (added)
+++ incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/TlsConnection.py Thu Mar 12 00:23:28 2009
@@ -0,0 +1,19 @@
+"""
+$Id: TlsConnection.py 712749 2008-08-18 03:26:52Z dixson3 $
+
+# Copyright 2007-2008 Cisco Systems Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not
+# use this file except in compliance with the License. You may obtain a copy
+# of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+"""
+from __future__ import absolute_import
\ No newline at end of file

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/TlsConnection.py
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/TlsConnection.py
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/TlsListener.py
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/TlsListener.py?rev=752702&view=auto
==============================================================================
--- incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/TlsListener.py (added)
+++ incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/TlsListener.py Thu Mar 12 00:23:28 2009
@@ -0,0 +1,19 @@
+"""
+$Id: TlsListener.py 712749 2008-08-18 03:26:52Z dixson3 $
+
+# Copyright 2007-2008 Cisco Systems Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not
+# use this file except in compliance with the License. You may obtain a copy
+# of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+"""
+from __future__ import absolute_import
\ No newline at end of file

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/TlsListener.py
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/TlsListener.py
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/Transport.py
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/Transport.py?rev=752702&view=auto
==============================================================================
--- incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/Transport.py (added)
+++ incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/Transport.py Thu Mar 12 00:23:28 2009
@@ -0,0 +1,19 @@
+"""
+$Id: Transport.py 712749 2008-08-18 03:26:52Z dixson3 $
+
+# Copyright 2007-2008 Cisco Systems Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not
+# use this file except in compliance with the License. You may obtain a copy
+# of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+"""
+from __future__ import absolute_import
\ No newline at end of file

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/Transport.py
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/Transport.py
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/TransportData.py
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/TransportData.py?rev=752702&view=auto
==============================================================================
--- incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/TransportData.py (added)
+++ incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/TransportData.py Thu Mar 12 00:23:28 2009
@@ -0,0 +1,19 @@
+"""
+$Id: TransportData.py 712749 2008-08-18 03:26:52Z dixson3 $
+
+# Copyright 2007-2008 Cisco Systems Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not
+# use this file except in compliance with the License. You may obtain a copy
+# of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+"""
+from __future__ import absolute_import
\ No newline at end of file

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/TransportData.py
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/TransportData.py
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/TransportPacket.py
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/TransportPacket.py?rev=752702&view=auto
==============================================================================
--- incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/TransportPacket.py (added)
+++ incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/TransportPacket.py Thu Mar 12 00:23:28 2009
@@ -0,0 +1,19 @@
+"""
+$Id: TransportPacket.py 712749 2008-08-18 03:26:52Z dixson3 $
+
+# Copyright 2007-2008 Cisco Systems Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not
+# use this file except in compliance with the License. You may obtain a copy
+# of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+"""
+from __future__ import absolute_import
\ No newline at end of file

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/TransportPacket.py
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/TransportPacket.py
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/__init__.py
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/__init__.py?rev=752702&view=auto
==============================================================================
--- incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/__init__.py (added)
+++ incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/__init__.py Thu Mar 12 00:23:28 2009
@@ -0,0 +1,20 @@
+"""
+$Id: __init__.py 712748 2008-08-17 05:58:09Z dixson3 $
+
+# Copyright 2007-2008 Cisco Systems Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not
+# use this file except in compliance with the License. You may obtain a copy
+# of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+"""
+from __future__ import absolute_import
+from .Session import *
\ No newline at end of file

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/__init__.py
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/etch/util/core/io/__init__.py
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: incubator/etch/trunk/binding-python/runtime/src/main/python/setup.py
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/binding-python/runtime/src/main/python/setup.py?rev=752702&view=auto
==============================================================================
--- incubator/etch/trunk/binding-python/runtime/src/main/python/setup.py (added)
+++ incubator/etch/trunk/binding-python/runtime/src/main/python/setup.py Thu Mar 12 00:23:28 2009
@@ -0,0 +1,28 @@
+# setup.py: etch distutils script
+#
+# Copyright 2007-2008 Cisco Systems Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not
+# use this file except in compliance with the License. You may obtain a copy
+# of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+
+import nose
+from setuptools import setup, find_packages
+
+setup(name='etch',
+      version='1.0.0',
+      author='Cisco Systems',
+      package_dir = {'':'src'},
+      packages = find_packages('src', exclude=["*.tests","*.test.*","tests.*","tests"]),
+      test_suite = "nose.collector"
+)
+

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/setup.py
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/setup.py
------------------------------------------------------------------------------
    svn:executable = *

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/python/setup.py
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: incubator/etch/trunk/binding-python/runtime/src/main/resources/etch.egg-info/PKG-INFO
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/binding-python/runtime/src/main/resources/etch.egg-info/PKG-INFO?rev=752702&view=auto
==============================================================================
--- incubator/etch/trunk/binding-python/runtime/src/main/resources/etch.egg-info/PKG-INFO (added)
+++ incubator/etch/trunk/binding-python/runtime/src/main/resources/etch.egg-info/PKG-INFO Thu Mar 12 00:23:28 2009
@@ -0,0 +1,10 @@
+Metadata-Version: 1.0
+Name: etch
+Version: 1.0.0
+Summary: UNKNOWN
+Home-page: UNKNOWN
+Author: Cisco Systems
+Author-email: UNKNOWN
+License: Apache-2.0
+Description: UNKNOWN
+Platform: UNKNOWN

Propchange: incubator/etch/trunk/binding-python/runtime/src/main/resources/etch.egg-info/PKG-INFO
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/etch/trunk/binding-python/runtime/src/test/python/tests/__init__.py
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/binding-python/runtime/src/test/python/tests/__init__.py?rev=752702&view=auto
==============================================================================
--- incubator/etch/trunk/binding-python/runtime/src/test/python/tests/__init__.py (added)
+++ incubator/etch/trunk/binding-python/runtime/src/test/python/tests/__init__.py Thu Mar 12 00:23:28 2009
@@ -0,0 +1,16 @@
+"""
+# Copyright 2007-2008 Cisco Systems Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not
+# use this file except in compliance with the License. You may obtain a copy
+# of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+"""
\ No newline at end of file

Propchange: incubator/etch/trunk/binding-python/runtime/src/test/python/tests/__init__.py
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/etch/trunk/binding-python/runtime/src/test/python/tests/__init__.py
------------------------------------------------------------------------------
    svn:executable = *

Propchange: incubator/etch/trunk/binding-python/runtime/src/test/python/tests/__init__.py
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: incubator/etch/trunk/binding-python/runtime/src/test/python/tests/msg/TestField.py
URL: http://svn.apache.org/viewvc/incubator/etch/trunk/binding-python/runtime/src/test/python/tests/msg/TestField.py?rev=752702&view=auto
==============================================================================
--- incubator/etch/trunk/binding-python/runtime/src/test/python/tests/msg/TestField.py (added)
+++ incubator/etch/trunk/binding-python/runtime/src/test/python/tests/msg/TestField.py Thu Mar 12 00:23:28 2009
@@ -0,0 +1,54 @@
+"""
+# Copyright 2007-2008 Cisco Systems Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not
+# use this file except in compliance with the License. You may obtain a copy
+# of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+"""
+import unittest
+from etch.util.Types import *
+from etch.msg.Field import Field
+from etch.msg.IdName import IdName
+
+class Test_EtchMsgField(unittest.TestCase):
+
+    def setUp(self):
+        #print " "
+        pass
+
+    def test_fieldIntegerString(self):
+        self._testMf(1, "one")
+        self._testMf(2, "two")
+        self._testMf(3, "three")
+
+    def test_fieldString(self):
+        self._testMf("one")
+        self._testMf("two")
+        self._testMf("three")
+
+    def _testMf(self, *args):
+        if len(args) == 1:
+            name = args[0]
+            mf   = Field(name)
+            self.assertEquals(IdName.hash(name), mf.getId())
+            self.assertEquals(name, mf.getName())
+        elif len(args) == 2:
+            i = args[0]
+            n = args[1]
+            mf = Field(i,n)
+            self.assertEquals(i, mf.getId())
+            self.assertEquals(n, mf.getName())
+        else:
+            pass
+
+if __name__=='__main__':
+    unittest.main()

Propchange: incubator/etch/trunk/binding-python/runtime/src/test/python/tests/msg/TestField.py
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/etch/trunk/binding-python/runtime/src/test/python/tests/msg/TestField.py
------------------------------------------------------------------------------
    svn:executable = *

Propchange: incubator/etch/trunk/binding-python/runtime/src/test/python/tests/msg/TestField.py
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"