Value size constraint¶
- class pyasn1.type.constraint.ValueSizeConstraint(minimum, maximum)¶
Create a ValueSizeConstraint object.
The ValueSizeConstraint satisfies any value for as long as its size falls within the range of permitted sizes.
The ValueSizeConstraint object can be applied to
BitString
,OctetString
(including all character ASN.1 types),SequenceOf
andSetOf
types.- Parameters:
Examples
class BaseballTeamRoster(SetOf): ''' ASN.1 specification: BaseballTeamRoster ::= SET SIZE (1..25) OF PlayerNames ''' componentType = PlayerNames() subtypeSpec = ValueSizeConstraint(1, 25) # this will succeed team = BaseballTeamRoster() team.extend(['Jan', 'Matej']) encode(team) # this will raise ValueConstraintError team = BaseballTeamRoster() team.extend(['Jan'] * 26) encode(team)
Note
Whenever ValueSizeConstraint is applied to mutable types (e.g.
SequenceOf
,SetOf
), constraint validation only happens at the serialisation phase rather than schema instantiation phase (as it is with immutable types).