Navigation


Changeset 636:c23ca590fa57 in freeDiameter for doc


Ignore:
Timestamp:
Dec 15, 2010, 6:24:33 PM (13 years ago)
Author:
Sebastien Decugis <sdecugis@nict.go.jp>
Branch:
default
Phase:
public
Message:

Still making progress on the dbg_interactive interface.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • doc/dbg_interactive.py.sample

    r635 r636  
    9595v.vendor_id = 123
    9696v.vendor_name = "My test vendor"
    97 r, my_vendor = fd_dict_new(d, DICT_VENDOR, v, None)
     97my_vendor = d.new_obj(DICT_VENDOR, v)
    9898del v
    9999d.dump()
     
    104104a.application_id = 99
    105105a.application_name = "My test appl"
    106 r, my_appl = fd_dict_new(d, DICT_APPLICATION, a, my_vendor)
     106my_appl = d.new_obj(DICT_APPLICATION, a, my_vendor)
    107107del a
    108108
     
    111111t.type_base = AVP_TYPE_INTEGER32
    112112t.type_name = "My integer AVP"
    113 r, my_type_int = fd_dict_new(d, DICT_TYPE, t, my_appl)
     113my_type_int = d.new_obj(DICT_TYPE, t, my_appl)
    114114t.type_base = AVP_TYPE_OCTETSTRING
    115115t.type_name = "My binary buffer AVP"
    116 r, my_type_os = fd_dict_new(d, DICT_TYPE, t, my_appl)
     116my_type_os = d.new_obj(DICT_TYPE, t, my_appl)
    117117del t
    118118
     
    121121c.enum_name = "AVP_VALUE_TROIS"
    122122c.enum_value.i32 = 3
    123 fd_dict_new(d, DICT_ENUMVAL, c, my_type_int)
     123d.new_obj(DICT_ENUMVAL, c, my_type_int)
    124124
    125125c.enum_name = "A_BUFFER_CONSTANT"
    126126c.enum_value.os = "This is a very long AVP value that we prefer to represent as a constant"
    127127c.enum_value.os.dump()
    128 fd_dict_new(d, DICT_ENUMVAL, c, my_type_os)
     128d.new_obj(DICT_ENUMVAL, c, my_type_os)
    129129del c
    130130
     
    135135a.avp_flag_mask = AVP_FLAG_MANDATORY
    136136a.avp_basetype = AVP_TYPE_INTEGER32
    137 r, my_avp_int = fd_dict_new(d, DICT_AVP, a, my_type_int)
     137my_avp_int = d.new_obj(DICT_AVP, a, my_type_int)
    138138
    139139a.avp_vendor = 123
     
    142142a.avp_flag_val = AVP_FLAG_VENDOR
    143143a.avp_basetype = AVP_TYPE_OCTETSTRING
    144 r, my_avp_os = fd_dict_new(d, DICT_AVP, a, my_type_os)
     144my_avp_os = d.new_obj(DICT_AVP, a, my_type_os)
    145145del a
    146146
     
    151151c.cmd_flag_mask = CMD_FLAG_REQUEST + CMD_FLAG_PROXIABLE
    152152c.cmd_flag_val = CMD_FLAG_REQUEST + CMD_FLAG_PROXIABLE
    153 r, my_req = fd_dict_new(d, DICT_COMMAND, c, my_appl)
     153my_req = d.new_obj(DICT_COMMAND, c, my_appl)
    154154c.cmd_name = "My-Python-Answer"
    155155c.cmd_flag_val = CMD_FLAG_PROXIABLE
    156 r, my_ans = fd_dict_new(d, DICT_COMMAND, c, my_appl)
     156my_ans = d.new_obj(DICT_COMMAND, c, my_appl)
    157157del c
    158158
    159159# Rule
    160 rd = dict_rule_data()
    161 rd.rule_avp = my_avp_int
    162 rd.rule_position = RULE_REQUIRED
    163 rd.rule_min = -1
    164 rd.rule_max = -1
    165 r, my_rule1 = fd_dict_new(d, DICT_RULE, rd, my_req)
    166 r, my_rule2 = fd_dict_new(d, DICT_RULE, rd, my_ans)
    167 rd.rule_avp = my_avp_os
    168 r, my_rule3 = fd_dict_new(d, DICT_RULE, rd, my_req)
    169 r, my_rule4 = fd_dict_new(d, DICT_RULE, rd, my_ans)
    170 del rd
     160r = dict_rule_data()
     161r.rule_avp = my_avp_int
     162r.rule_position = RULE_REQUIRED
     163r.rule_min = -1
     164r.rule_max = -1
     165d.new_obj(DICT_RULE, r, my_req)
     166d.new_obj(DICT_RULE, r, my_ans)
     167r.rule_avp = my_avp_os
     168d.new_obj(DICT_RULE, r, my_req)
     169d.new_obj(DICT_RULE, r, my_ans)
     170del r
    171171
    172172d.dump()
     
    178178gdict = cvar.fd_g_config.cnf_dict
    179179
    180 r, appl = fd_dict_search ( gdict, DICT_APPLICATION, APPLICATION_BY_ID, 3, -1 )
    181 obj.dump()
    182 r, avp = fd_dict_search( gdict, DICT_AVP, AVP_BY_NAME, "Origin-Host", -1)
    183 obj.dump()
    184 r, errcmd = fd_dict_get_error_cmd( gdict )
    185 
    186 data = dict_avp_data()
    187 fd_dict_getval(avp, data)
    188 print data.avp_code
    189 del data
    190 
    191 r, t = fd_dict_gettype(appl)
     180appl = gdict.search ( DICT_APPLICATION, APPLICATION_BY_ID, 3 )
     181appl.dump()
     182avp = gdict.search ( DICT_AVP, AVP_BY_NAME, "Origin-Host")
     183avp.dump()
     184errcmd = gdict.error_cmd()
     185
     186v = avp.getval()
     187print v.avp_code
     188del v
     189
     190t = avp.gettype()
     191print t
    192192del t
    193193
    194 r, dict = fd_dict_getdict(avp)
     194dict = avp.getdict()
    195195del dict
    196 
    197196
    198197
     
    203202    print "Cleaning up python state for session:", sid
    204203    print "Received state:", state
     204    del state
    205205
    206206hdl = session_handler(my_cleanup)
     
    208208del hdl
    209209
     210# Session
    210211hdl = session_handler(my_cleanup)
    211 
    212 
    213 # Session
    214212s1 = session()
    215213s1.getsid()
     
    217215r,s3,isnew = fd_sess_fromsid("this.is.a.full.session.id")
    218216s4 = session("host.id", "opt.part")
    219 
    220217s4.settimeout(30) # the python wrapper takes a number of seconds as parameter for simplicity
    221218s4.dump()
    222219
    223 
    224 # state
    225 mystate = [ 34, "clah", [ 32, 12 ] ]
    226 
    227 s4.store(hdl, mystate)
    228 
    229 
    230 
    231 ## TODO : debug the following (segfault)
    232 
    233 def my_cleanup(state,sid):
    234     print "Cleaning up python state for session:", sid
    235     print "Received state:", state
    236 
    237 hdl = session_handler(my_cleanup)
    238 s4 = session("host.id", "opt.part")
    239 mystate = [ 34, "clah", [ 32, 12 ] ]
    240 s4.store(hdl, mystate)
    241 del hdl
    242 
    243 
     220# states
     221mystate = [ 34, "blah", [ 32, 12 ] ]
     222s1.store(hdl, mystate)
     223del mystate
     224gotstate = s1.retrieve(hdl)
     225print gotstate
     226del gotstate
     227
     228
     229############# Routing ############
     230
     231rd = rt_data()
     232
     233rd.add("p1.testbed.aaa", "testbed.aaa")
     234rd.add("p2.testbed.aaa", "testbed.aaa")
     235rd.add("p3.testbed.aaa", "testbed.aaa")
     236rd.add("p4.testbed.aaa", "testbed.aaa")
     237
     238rd.remove("p2.testbed.aaa")
     239
     240rd.error("p3.testbed.aaa", "relay.testbed.aaa", 3002)
     241
     242list = rd.extract(-1)
     243list[0].dump()
    244244
    245245
     
    250250######################### old stuff (need update) ######################
    251251
    252 # Routing data
    253 prtd = new_rt_data_pptr()
    254 fd_rtd_init(prtd)
    255 fd_rtd_candidate_add(rt_data_pptr_value(prtd), "p1.testbed.aaa", "testbed.aaa")
    256 fd_rtd_candidate_add(rt_data_pptr_value(prtd), "p2.testbed.aaa", "testbed.aaa")
    257 fd_rtd_candidate_add(rt_data_pptr_value(prtd), "p3.testbed.aaa", "testbed.aaa")
    258 fd_rtd_candidate_del(rt_data_pptr_value(prtd), "p2.testbed.aaa", 0)
    259 pcands = new_fd_list_pptr()
    260 fd_rtd_candidate_extract(rt_data_pptr_value(prtd), pcands, 0)
    261 li = fd_list_pptr_value(pcands)
    262 li = fd_list_next_get(li)
    263 c = fd_list_to_rtd_candidate(li)
    264 rtd_candidate_diamid_get(c)
    265 li = fd_list_next_get(li)
    266 c = fd_list_to_rtd_candidate(li)
    267 rtd_candidate_diamid_get(c)
    268252
    269253
Note: See TracChangeset for help on using the changeset viewer.