August'24: Kamaelia is in maintenance mode and will recieve periodic updates, about twice a year, primarily targeted around Python 3 and ecosystem compatibility. PRs are always welcome. Latest Release: 1.14.32 (2024/3/24)

Kamaelia.Util.Collate

Collate everything received into a single message

Buffers all data sent to it. When shut down, sends all data it has received as collated as a list in a single message.

Example Usage

Read a file, in small chunks, then collate them into a single chunk:

Pipeline( RateControlledFileReader("big_file", ... ),
          Collate(),
          ...
        )

Behaviour

Send data items to its "inbox" inbox to be collated.

Send a producerFinished or shutdownMicroprocess message to the "control" inbox to terminate this component.

All collated data items will be sent out of the "outbox" outbox as a list in a single message. The items are collated in the same order they first arrived.

The component will then send on the shutdown message to its "signal" outbox and immediately terminate.


Kamaelia.Util.Collate.Collate

class Collate(Axon.Component.component)

Collate() -> new Collate component.

Buffers all data sent to it. When shut down, sends all data it has received as a single message.

Inboxes

  • control : Shutdown signalling
  • inbox : Data items

Outboxes

  • outbox : All data items collated into one message
  • signal : Shutdown signalling

Methods defined here

Warning!

You should be using the inbox/outbox interface, not these methods (except construction). This documentation is designed as a roadmap as to their functionalilty for maintainers and new component developers.

main(self)

Main loop

Feedback

Got a problem with the documentation? Something unclear that could be clearer? Want to help improve it? Constructive criticism is very welcome - especially if you can suggest a better rewording!

Please leave you feedback here in reply to the documentation thread in the Kamaelia blog.

-- Automatic documentation generator, 05 Jun 2009 at 03:01:38 UTC/GMT