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"