Hi Derek,Please post on this mailing list. Thanks. Regards KKOn 26 December 2010 22:07, Derek Cormier <[email protected] <mailto:[email protected]>> wrote:Great. Should I post any future changes here on the Nox board or send them to a developer like yourself? -Derek On 12/27/2010 02:54 PM, kk yap wrote:Hi Derek, Thanks. I pushed this to destiny (unstable). Regards KK On 26 December 2010 16:56, Derek Cormier <[email protected] <mailto:[email protected]>> wrote: Woops! I'm not sure how it happened but I somehow messed up the patch file. Please use this attached one instead. -Derek On 12/27/2010 09:48 AM, Derek Cormier wrote:Hi KK, I've attached the patch. Sorry for taking so long to reply, I was away for the holidays. The patch is for destiny. I have seen Murphy's patch, and this patch is based off of it. Murphy added the ability to use the component's register_handler method for error events, and mine just adds a convenience methods for registering errors, since they exist for other events as well. -Derek On 12/23/2010 03:20 AM, kk yap wrote:Thanks Alec. That's a useful feature I did not know about. Appreciate the advice. Hi Derek, Is this patch against destiny? We tend to patch the unstable branch (destiny), so if I can have a patch against destiny, that would be best. Also, have you seen Murphy's patch in the destiny branch? Regards KK ======================================== commit a2efd049da9f0d0d8dc4e56dc1aaa64930c1d257 Author: Murphy McCauley<[email protected]> <mailto:[email protected]> Date: Tue Dec 14 11:49:18 2010 -0800 Pythonize OpenFlow error messages OpenFlow error messages (ofp_error_msg / OFPT_ERROR_MSG) were previously only available in C++. They're now available in Python as well. On 22 December 2010 10:09, Alec Story<[email protected]> <mailto:[email protected]> wrote:If you click the little down arrow on the top right, and select "Show original" you get the non-formatted version of the message and should be able to get the patch out of there. On Wed, Dec 22, 2010 at 6:29 AM, kk yap<[email protected]> <mailto:[email protected]> wrote:Hi Derek, Many thanks for the patch. Do you mind sending me the patch zipped or tarballed? Sorry Gmail reformats things a little, so the git-format-patch output is distorted. Regards KK On 21 December 2010 23:38, Derek Cormier<[email protected]> <mailto:[email protected]> wrote:Hello, I would like to start contributing to the Nox code. This is my first time contributing to open source software, and I'm still new to git, so I don't know the exact process. I've seen some people post patch files, so I'll include a small change I made here. Recently the Error_event was made available in the python API, but core.py didn't have an easier member function to register errors (had to register using the Error_event.get_static_name() etc..). This isn't incredibly useful, but I just wanted to try contributing for the first time. Please let me know if I didn't do this right. Thanks! Derek From ea590df29ae342bb9029b90829fa1ddf3ff36d10 Mon Sep 17 00:00:00 2001 From: Derek Cormier<[email protected]> <mailto:[email protected]> Date: Wed, 22 Dec 2010 16:18:33 +0900 Subject: [PATCH] Allow python components to register for error events through a class method. --- src/nox/lib/core.py | 10 ++++++++++ src/nox/lib/util.py | 9 +++++++++ 2 files changed, 19 insertions(+), 0 deletions(-) diff --git a/src/nox/lib/core.py b/src/nox/lib/core.py index 3b994c6..70cdb48 100644 --- a/src/nox/lib/core.py +++ b/src/nox/lib/core.py @@ -678,6 +678,16 @@ class Component:self.register_handler(Switch_mgr_leave_event.static_get_name(),gen_switch_mgr_leave_cb(handler))+ def register_for_error(self, handler): + """ + register a handler to be called on every error + event handler will be called with the following args: + + handler(type, code, data, xid) + """+ self.register_handler(Error_event.static_get_name(),+ gen_error_cb(handler)) + def unregister_handler(self, rule_id): """ Unregister a handler for match. diff --git a/src/nox/lib/util.py b/src/nox/lib/util.py index a192826..aa4b807 100644 --- a/src/nox/lib/util.py +++ b/src/nox/lib/util.py @@ -239,6 +239,15 @@ def gen_switch_mgr_leave_cb(handler): f.cb = handler return f +def gen_error_cb(handler): + def f(event): + ret = f.cb(event.type, event.code, event.data, event.xid) + if ret == None: + return CONTINUE + return ret + f.cb = handler + return f + def set_match(attrs): m = openflow.ofp_match() wildcards = 0-- 1.7.0.4_______________________________________________ nox-dev mailing list [email protected] <mailto:[email protected]> http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org_______________________________________________ nox-dev mailing list [email protected] <mailto:[email protected]> http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org-- Alec StoryCornell University Biological Sciences, Computer Science 2012_______________________________________________ nox-dev mailing list [email protected] <mailto:[email protected]> http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org_______________________________________________ nox-dev mailing list [email protected] <mailto:[email protected]> http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org_______________________________________________ nox-dev mailing list [email protected] <mailto:[email protected]> http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org_______________________________________________ nox-dev mailing list [email protected] <mailto:[email protected]> http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org _______________________________________________ nox-dev mailing list [email protected] http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org
_______________________________________________ nox-dev mailing list [email protected] http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org
