Package foolscap :: Module call :: Class ErrorUnslicer
[hide private]
[frames] | no frames]

Class ErrorUnslicer

source code

         object --+        
                  |        
slicer.BaseUnslicer --+    
                      |    
  slicer.ScopedUnslicer --+
                          |
                         ErrorUnslicer

Nested Classes [hide private]

Inherited from slicer.BaseUnslicer: __metaclass__

Instance Methods [hide private]
 
checkToken(self, typebyte, size) source code
 
doOpen(self, opentype)
Return an IUnslicer object based upon the 'opentype' tuple.
source code
 
reportViolation(self, f) source code
 
receiveChild(self, token, ready_deferred=None)
Unslicers for containers should accumulate their children's ready_deferreds, then combine them in an AsyncAND when receiveClose() happens, and return the AsyncAND as the ready_deferreds half of the receiveClose() return value.
source code
 
receiveClose(self) source code
 
describe(self) source code

Inherited from slicer.ScopedUnslicer: __init__, getObject, setObject

Inherited from slicer.BaseUnslicer: __providedBy__, explode, finish, open, openerCheckToken, setConstraint, start

Inherited from object: __delattr__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __str__

Class Variables [hide private]
  request = None
  fConstraint = FailureConstraint()
  gotFailure = False

Inherited from slicer.BaseUnslicer: __implemented__, __provides__, opentype

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

checkToken(self, typebyte, size)

source code 
Overrides: slicer.BaseUnslicer.checkToken

doOpen(self, opentype)

source code 

Return an IUnslicer object based upon the 'opentype' tuple. This object will receive all tokens destined for the subnode.

If you want to enforce a constraint, you must override this method and do two things: make sure your constraint accepts the opentype, and set a per-item constraint on the new child unslicer.

This method gets the IUnslicer from our .open() method. That might return None instead of a child unslicer if the they want a multi-token opentype tuple, so be sure to check for Noneness before adding a per-item constraint.

Overrides: slicer.BaseUnslicer.doOpen
(inherited documentation)

reportViolation(self, f)

source code 
Overrides: slicer.BaseUnslicer.reportViolation

receiveChild(self, token, ready_deferred=None)

source code 

Unslicers for containers should accumulate their children's ready_deferreds, then combine them in an AsyncAND when receiveClose() happens, and return the AsyncAND as the ready_deferreds half of the receiveClose() return value.

Overrides: slicer.BaseUnslicer.receiveChild
(inherited documentation)

receiveClose(self)

source code 
Overrides: slicer.BaseUnslicer.receiveClose

describe(self)

source code 
Overrides: slicer.BaseUnslicer.describe