On 7/11/07, Michael Sparks <[EMAIL PROTECTED]> wrote:

On Wednesday 11 July 2007 01:42, M. David Peterson wrote:
> P2P audio streaming

A *very* simplistic P2P streaming core written in an evening (last friday
evening specifically) using Kamaelia can be found here: (really needs
buffering, detection of broken connections, multiple sources, but does
work)


http://kamaelia.svn.sourceforge.net/viewvc/kamaelia/trunk/Sketches/MPS/LUGRadio/SimpleSwarm.py?view=markup

http://kamaelia.svn.sourceforge.net/viewvc/kamaelia/trunk/Sketches/MPS/LUGRadio/SimpleSwarmRadioSource.py?view=markup


Oh, this is cool!

It was written for my presentation at LUG Radio Live this past weekend in
Wolverhampton (UK). Gives an idea of the compactness of code you can get
if
you allow concurrency to be naturally handled in the system by thinking of
them as communicating components.


It's a powerful analogy, for sure!  Right inline with the Smalltalk way of
thinking about programming, something I truly appreciate.  Come to think of
it, the combination of Vista Smalltalk/DLR[1] + IronPython + Kamaelia +
Silverlight (once Silverlight gains support for sockets) == my mouth
drooling with the combination of possibilities. :D

Peter (Cc'd): Have you had a chance to look @ Kamaelia[2]?

[1]: http://vistascript.net/
[2]: http://kamaelia.org/

The first file (220 lines) is a generic peer. The second file (170 lines) is
a
source peer - specifically it captures BBC Radio 1 off broadcast from DVB
digital TV broadcasts and then restransmits it. (Its an example source -
someone actually intent on using this would have to replace that source
with
a source they have a license to redistribute)


Am playing with this now.  In the mean time, one problem I ran into that
requires the yet to be implemented nested yield statements in IP 2.0,

IronPython 1.1 (1.1) on .NET 2.0.50727.42
Copyright (c) Microsoft Corporation. All rights reserved.
>>> from Kamaelia.Chassis.Pipeline import Pipeline
>>> from Kamaelia.Protocol.HTTP.HTTPClient import *
Traceback (most recent call last):
  File HTTPClient, line unknown, in Initialize
SyntaxError: yield in more than one try blocks
(/Users/mdavid/Projects/extf.googlecode.com/vendor/IPCE-r6/Lib/Kamaelia/Internet/TCPClient.py,
line 222)
>>>


Beyond the above issue, things seem to be playing nicely which is really
great!  I'll run through the provided sample now and let you know if I run
into any issues.

Thanks, Michael!

--
/M:D

M. David Peterson
http://mdavid.name | http://www.oreillynet.com/pub/au/2354 |
http://dev.aol.com/blog/3155
_______________________________________________
users mailing list
[email protected]
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com

Reply via email to