X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=examples%2Fpong_xapp.py;fp=examples%2Fpong_xapp.py;h=b19beeca766ed5adedd2819b18c97ebbd692801b;hb=f9cd5cc676355485c2d9c8bc2be22ddad4874382;hp=7542c90b9d1dc7f404744c41b06eed6f4683597e;hpb=06c2edc43327744be4ef1114fd99edfd111039fa;p=ric-plt%2Fxapp-frame-py.git diff --git a/examples/pong_xapp.py b/examples/pong_xapp.py index 7542c90..b19beec 100644 --- a/examples/pong_xapp.py +++ b/examples/pong_xapp.py @@ -21,26 +21,27 @@ import json from ricxappframe.xapp_frame import RMRXapp -# Note, this is an OOP pattern for this that I find slightly more natural -# The problem is we want the client xapp to be able to call methods defined in the RMRXapp -# Another exactly equivelent way would have been to use Closures like -# def consume(summary, sbuf): -# xapp.rts() -# xapp = RMRXapp(consume) -# However, the subclass looks slightly more natural. Open to the alternative. +def post_init(_self): + """post init""" + print("ping xapp could do some useful stuff here!") -class MyXapp(RMRXapp): - def post_init(self): - print("ping xapp could do some useful stuff here!") +def sixtyh(self, summary, sbuf): + """callback for 60000""" + print("registered 60000 handler called!") + print(summary) + jpay = json.loads(summary["payload"]) + self.rmr_rts(sbuf, new_payload=json.dumps({"ACK": jpay["test_send"]}).encode(), new_mtype=60001, retries=100) + self.rmr_free(sbuf) - def consume(self, summary, sbuf): - """callbnack called for each new message""" - print(summary) - jpay = json.loads(summary["payload"]) - self.rmr_rts(sbuf, new_payload=json.dumps({"ACK": jpay["test_send"]}).encode(), new_mtype=60001, retries=100) - self.rmr_free(sbuf) +def defh(self, summary, sbuf): + """default callback""" + print("default handler called!") + print(summary) + self.rmr_free(sbuf) -xapp = MyXapp(use_fake_sdl=True) + +xapp = RMRXapp(default_handler=defh, post_init=post_init, use_fake_sdl=True) +xapp.register_callback(sixtyh, 60000) xapp.run()