Mbus wrapper working...

Ivan R. Judson judson at mcs.anl.gov
Tue Feb 10 19:59:43 CST 2004


Tonight I have a swig'd mbus wrapper working. An example script is:

import common

def cb(src, cmd, arg, dat):
	global addr
	if src != addr:
		print "Data: %s <%s> <%s> <%s>" % (src, cmd, arg, dat)
	
def eb(seq, reason):
    print "Error: <%d> <%d>" % (seq, reason)
	
addr = "(media:audio module:snooper app:snoop id:3)"

m = common.message_bus(addr, cb, eb)

while 1:
    m.heartbeat(1)
    m.retransmit()
    m.send()
    m.recv((0, 10000), "")

What it does is (this is an example where I started rat, waited for it to
settle, then quit rat):

C:\software\common-mbus\examples\_common>mbus-snoop.py
Data: (media:audio module:control app:rat id:504) <mbus.waiting>
<"rat-token-29d0204b"> <>
Data: (media:audio module:control app:rat id:504) <mbus.waiting>
<"rat-token-29d0204b"> <>
Data: (media:audio module:control app:rat id:504) <mbus.waiting>
<"rat-token-29d0204b"> <>
Data: (media:audio module:control app:rat id:504) <mbus.hello> <> <>
Data: (media:audio module:control app:rat id:504) <mbus.waiting>
<"rat-token-29d0204b"> <>
Data: (media:audio module:control app:rat id:504) <mbus.waiting>
<"rat-token-29d0204b"> <>
Data: (media:audio module:control app:rat id:504) <mbus.waiting>
<"rat-token-29d0204b"> <>
Data: (media:audio module:control app:rat id:504) <mbus.waiting>
<"rat-token-1ef8315f"> <>
Data: (media:audio module:control app:rat id:504) <mbus.waiting>
<"rat-token-1ef8315f"> <>
Data: (media:audio module:ui app:rat id:504) <mbus.hello> <> <>
Data: (media:audio module:control app:rat id:504) <mbus.hello> <> <>
Data: (media:audio module:engine app:rat session:0 id:504) <mbus.hello> <>
<>
Data: (media:audio module:engine app:rat session:0 id:504) <mbus.waiting>
<"rat-ui-requested"> <>
Data: (media:audio module:ui app:rat id:504) <mbus.hello> <> <>
Data: (media:audio module:engine app:rat session:0 id:504) <mbus.hello> <>
<>
Data: (media:audio module:control app:rat id:504) <mbus.hello> <> <>
Data: (media:audio module:engine app:rat session:0 id:504) <mbus.hello> <>
<>
Data: (media:audio module:ui app:rat id:504) <mbus.hello> <> <>
Data: (media:audio module:control app:rat id:504) <mbus.hello> <> <>
Data: (media:audio module:ui app:rat id:504) <mbus.hello> <> <>
Data: (media:audio module:engine app:rat session:0 id:504) <mbus.hello> <>
<>
Data: (media:audio module:control app:rat id:504) <mbus.hello> <> <>
Data: (media:audio module:engine app:rat session:0 id:504) <mbus.hello> <>
<>
Data: (media:audio module:control app:rat id:504) <mbus.hello> <> <>
Data: (media:audio module:ui app:rat id:504) <mbus.hello> <> <>
Data: (media:audio module:engine app:rat session:0 id:504) <mbus.hello> <>
<>
Data: (media:audio module:control app:rat id:504) <mbus.hello> <> <>
Data: (media:audio module:ui app:rat id:504) <mbus.hello> <> <>
Data: (media:audio module:engine app:rat session:0 id:504) <mbus.waiting>
<"rat-ui-requested"> <>
Data: (media:audio module:ui app:rat id:504) <mbus.bye> <> <>
Data: (media:audio module:ui app:rat id:504) <mbus.bye> <> <>
Data: (media:audio module:engine app:rat session:0 id:504) <mbus.bye> <> <>
Data: (media:audio module:engine app:rat session:0 id:504) <mbus.bye> <> <>

I'm going to apply this pattern to the rtp/rtcp interfaces in common
(replacing what I've done before with a more general pattern), and commit
this to our cvs (fl). Then I'd like to back port the changes bob's applied
to common in the ag media versions of common (for interfaces, etc). Then I'm
going try to get our common(the fl one) underneath the media tools so we can
converge on a single version of the library. Plus, I'll send diffs back to
ucl.

Chris, this is how you'll build the rat controller, we can talk wed.

--Ivan




More information about the ag-dev mailing list