Kamaelia

Nuts & Bolts | Components | Tools | Cookbook | Systems
wiki:( guest738429, Dev Console, Index, Recent, Edit )


Home, News
Dev Console

How, Why
Project Blog
Summer of Code

Documentation
Download
SVN (web)
Sourceforge page

Project Admin
License

Contact Us

  Page Tags

No tags are defined for this page yet - how would you classify/think of this page? Add your notes below!

Network Protocol Modules

Echo protocol and Fortune Cookies

EchoProtocol is the simplest protocol and forms a simple loopback protocol useful for integration testing. In practice this component is really a data pass through component since all data recieved on its inbox is passed on directly to its outbox. Kamaelia.Util.PassThrough is a similar component.

FortuneCookieProtocol is one step above EchoProtocol. It runs the fortune program on the server and sends the result to its outbox. In a networked environment what this means is the server will simply blat the fortune cookie to a client that connects to the server.

AudioCookieProtocol is a further logical extension. Similar to FortuneCookieProtocol it too runs an external program and sends the result to its outbox. In this case however rather than a short piece of text, it is a short snippet of audio.

SimpleVideoCookieServer is essentially the same but his time with a short piece of video.

HTTP

Kamaelia.Protocol.HTTP is a collection of components implementing an extensible HTTP server and an HTTP Client. There is also an implementation of a SHOUTcast/Icecast client.

RTP

Kamaelia.Protocol.RTP is a set of modules for implementing RTP.

Simple Reliable Multicast

Kamaelia.Protocol.SimpleReliableMulticast module contains a simple collection of components that can be pipelined together to create a simple protocol for reliable transfer of data over multicast - designed to cope with duplicated, lost and delivered-out-of-order packets.

Bit Torrent

Kamaelia.Protocol.Torrent is a set of modules that wrap the mainline bittorrent code adding bit-torrent components to Kamaelia. Specifically the TorrentPatron component provided shared access to bittorrent functionality.

Support: Packetisation, Framing, MIME types, etc

These components don't implement fully fledged protocols, but provide useful support that many protocols may wish to use.

The Framing module contains components that implement a simple protocol for framing chunks of data and combining them with an associated 'tag' - making it easy to add things like sequence numbers to a stream of chunks of data.

MimeRequestComponent module unpacks MIME request headers into a python dict object.

Packetise contains a simple component for ensuring that data chunks do not exceed a specified size - particularly useful, for example, for ensuring UDP payloads fit within a packet size limit.


-- Michael, December 2004; updated by Matt, April 2007



Your tags for this page: If you had set UserPreferences (name & email) and validated them (simple single click in your email), you would be able to define personal tags

Versions: current , 1 , 2 , 3


(C) 2005 Kamaelia Contributors, including the British Broadcasting Corporation, All Rights Reserved,
This is an ongoing community based development site. As a result the contents of this page is the opinions of the contributors of the pages involved not the organisations involved. Specificially, this page may contain personal views which are not the views of the BBC.