Lines Matching refs:data

28 def null(data):  argument
29 return type(data) == type(None) # noqa
32 def boolean(data): argument
33 return type(data) == type(True) # noqa
36 def integer(data): argument
37 return type(data) == type(0) # noqa
40 def string(data): argument
41 return type(data) == type(u'') or type(data) == type('') # noqa
44 def array(data): argument
45 return type(data) == type([]) # noqa
48 def hashtable(data): argument
49 return type(data) == type({}) # noqa
64 def kind(kind, data): argument
67 if CHECK_TYPE[t](data):
75 def nop(data): argument
79 def uint8(data): argument
80 return 0 <= data < pow(2, 8)
83 def uint16(data): argument
84 return 0 <= data < pow(2, 16)
87 def uint32(data): argument
88 return 0 <= data < pow(2, 32)
91 def uint96(data): argument
92 return 0 <= data < pow(2, 96)
95 def float(data): argument
96 return 0 <= data < 3.4 * pow(10, 38) # approximation of max from wikipedia
99 def ip(data): argument
100 return ipv4(data) or ipv6(data)
103 def ipv4(data): # XXX: improve argument
104 return string(data) and data.count('.') == 3
107 def ipv6(data): # XXX: improve argument
108 return string(data) and ':' in data
111 def range4(data): argument
112 return 0 < data <= 32
115 def range6(data): argument
116 return 0 < data <= 128
119 def ipv4_range(data): argument
120 if not data.count('/') == 1:
122 ip, r = data.split('/')
132 def port(data): argument
133 return 0 <= data < pow(2, 16)
136 def asn16(data): argument
137 return 1 <= data < pow(2, 16)
140 def asn32(data): argument
141 return 1 <= data < pow(2, 32)
147 def md5(data): argument
148 return len(data) <= 18
151 def localpreference(data): argument
152 return uint32(data)
155 def med(data): argument
156 return uint32(data)
159 def aigp(data): argument
160 return uint32(data)
163 def originator(data): argument
164 return ipv4(data)
167 def distinguisher(data): argument
168 parts = data.split(':')
175 def pathinformation(data): argument
176 if integer(data):
177 return uint32(data)
178 if string(data):
179 return ipv4(data)
183 def watchdog(data): argument
184 return ' ' not in data # TODO: improve
187 def split(data): argument
188 return range6(data)
195 def aspath(data): argument
196 return integer(data) and data < pow(2, 32)
199 def assequence(data): argument
200 return integer(data) and data < pow(2, 32)
203 def community(data): argument
204 if integer(data):
205 return uint32(data)
206 if string(data) and data.lower() in (
216 …array(data) and len(data) == 2 and integer(data[0]) and integer(data[1]) and asn16(data[0]) and ui…
220 def largecommunity(data): argument
221 if integer(data):
222 return uint96(data)
224 array(data)
225 and len(data) == 3
226 and integer(data[0])
227 and integer(data[1])
228 and integer(data[2])
229 and asn32(data[0])
230 and uint32(data[1])
231 and uint32(data[2])
235 def extendedcommunity(data): # TODO: improve, incomplete see https://tools.ietf.org/rfc/rfc4360.txt argument
236 if integer(data):
238 if string(data) and data.count(':') == 2:
239 _, __, ___ = data.split(':')
246 def label(data): argument
247 return integer(data) and 0 <= data < pow(2, 20) # XXX: SHOULD be taken from Label class
250 def clusterlist(data): argument
251 return integer(data) and uint8(data)
254 def aggregator(data): argument
255 if not array(data):
257 if len(data) == 0:
259 if len(data) == 2:
260 return integer(data[0]) and string(data[1]) and asn(data[0]) and ipv4(data[1])
264 def dscp(data): argument
265 return integer(data) and uint8(data)
272 def flow_ipv4_range(data): argument
273 if array(data):
274 for r in data:
277 if string(data):
278 return ipv4_range(data)
282 def _flow_numeric(data, check): argument
283 if not array(data):
285 for et in data:
293 def flow_port(data): argument
294 return _flow_numeric(data, port)
297 def _length(data): argument
298 return uint16(data)
301 def flow_length(data): argument
302 return _flow_numeric(data, _length)
305 def redirect(data): # TODO: check that we are not too restrictive with our asn() calls argument
306 parts = data.split(':')