Main > Free Download Search >

Free flow tools 0.68 software for linux

flow tools 0.68

Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 487
flow-tools 0.68

flow-tools 0.68


flow-tools is a set of programs for processing and managing NetFlow exports from Cisco and Juniper routers. more>>
flow-tools is a set of programs for processing and managing NetFlow exports from Cisco and Juniper routers. The tools included are: flow-capture, flow-cat, flow-dscan, flow-expire, flow-export, flow-fanout, flow-filter, flow-gen, flow-header, flow-import, flow-mask, flow-merge, flow-nfilter, flow-print, flow-receive, flow-report, flow-send, flow-split, flow-stat, flow-tag, and flow-xlate.

Flow data is collected and stored by default in host byte ordera nd the files are portable across every endian architectures.

Commands that utilize the network use a localip/remoteip/port designation for communication. "localip" is the IP address the host will use as a source for sending or bind to when receiving NetFlow PDUs (ie the destination address of the exporter. Configuring the "localip" to 0 will force the kernel to decide what IP address to use for sending and listen on all IP addresses for receiving. "remoteip" is the destination IP address used for sending or the expected address of the source when receiving. If the "remoteip" is 0 then the application will accept flows from any source address. The "port" is the UDP port number used for sending or receiving. When using multicast addresses the localip/remoteip/port is used to represent the source, group, and port respectively.

Flows are exported from a router in a number of different configurable versions. A flow is a collection of key fields and additional data. The flow key is {srcaddr, dstaddr, input, output, srcport, dstport, prot, ToS}. Flow-tools supports one export version per file.

Export versions 1, 5, 6, and 7 all maintain {nexthop, dPkts, dOctets, First, Last, flags}, ie the next-hop IP address, number of packets, number of octets (bytes), start time, end time, and flags such as the TCP header bits. Version 5 adds the additional fields {src_as, dst_as, src_mask, dst_mask}, ie source AS, destination AS, source network mask, and destination network mask. Version 7 which is specific to the Catalyst switches adds in addition to the version 5 fields {router_sc}, which is the Router IP address which populates the flow cache shortcut in the Supervisor. Version 6 which is not officially supported by Cisco adds in addition to the version 5 fields {in_encaps, out_encaps, peer_nexthop}, ie the input and output interface encapsulation size, and the IP address of the next hop within the peer. Version 1 exports do not contain a sequence number and therefore should be avoided, although it is safe to store the data as version 1 if the additional fields are not used.

Version 8 IOS NetFlow is a second level flow cache that reduces the data exported from the router. There are currently 11 formats, all of which provide {dFlows, dOctets, dPkts, First, Last} for the key fields.

8.1 - Source and Destination AS, Input and Output interface
8.2 - Protocol and Port
8.3 - Source Prefix and Input interface
8.4 - Destination Prefix and Output interface
8.5 - Source/Destination Prefix and Input/Output interface
8.9 - 8.1 + ToS
8.10 - 8.2 + ToS
8.11 - 8.3 + ToS
8.12 - 8.5 + ToS
8.13 - 8.2 + ToS
8.14 - 8.3 + ports + ToS

Version 8 CatIOS NetFlow appears to be a less fine grained first level flow cache.

8.6 - Destination IP, ToS, Marked ToS,
8.7 - Source/Destination IP, Input/Output interface, ToS, Marked ToS,
8.8 - Source/Destination IP, Source/Destination Port,
Input/Output interface, ToS, Marked ToS,

The following programs are included in the flow-tools distribution.

flow-capture - Collect, compress, store, and manage disk space for exported flows from a router.
flow-cat - Concatenate flow files. Typically flow files will contain a small window of 5 or 15 minutes of exports. Flow-cat can be used to append files for generating reports that span longer time periods.
flow-fanout - Replicate NetFlow datagrams to unicast or multicast destinations. Flow-fanout is used to facilitate multiple collectors attached to a single router.
flow-report - Generate reports for NetFlow data sets. Reports include source/destination IP pairs, source/destination AS, and top talkers. Over 50 reports are currently supported.
flow-tag - Tag flows based on IP address or AS #. Flow-tag is used to group flows by customer network. The tags can later be used with flow-fanout or flow-report to generate customer based traffic reports.
flow-filter - Filter flows based on any of the export fields. Flow-filter is used in-line with other programs to generate reports based on flows matching filter expressions.
flow-import - Import data from ASCII or cflowd format.
flow-export - Export data to ASCII or cflowd format.
flow-send - Send data over the network using the NetFlow protocol.
flow-receive - Receive exports using the NetFlow protocol without storing to disk like flow-capture.
flow-gen - Generate test data.
flow-dscan - Simple tool for detecting some types of network scanning and Denial of Service attacks.
flow-merge - Merge flow files in chronoligical order.
flow-xlate - Perform translations on some flow fields.
flow-expire - Expire flows using the same policy of flow-capture.
flow-header - Display meta information in flow file.
flow-split - Split flow files into smaller files based on size, time, or tags.

<<less
Download (0.96MB)
Added: 2006-06-22 License: BSD License Price:
1238 downloads
flowd 0.9

flowd 0.9


flowd application is a fast, small and secure NetFlow collector. more>>
flowd application is a fast, small and secure NetFlow collector.
Main features:
- Understands NetFlow protocol v.1, v.5, v.7 and v.9 (including IPv6 flows)
- Supports both IPv4 and IPv6 transport of flows
- Secure: flowd is privilege separated to limit the impact of any compromise
- Supports filtering and tagging of flows, using a packet filter-like syntax
- Stores recorded flow data in a compact binary format which supports run-time choice over which flow fields are stored
- Ships with both Perl and Python interfaces for reading and parsing the on-disk record format
- Is licensed under a liberal BSD-like license
- Supports reception of flow export datagrams sent to multicast groups (IPv4 and IPv6), thereby allowing the construction of redundant flow collector systems
flowd works with any standard NetFlow exporter, including hardware devices (e.g. routers) or software flow tracking agents, such as my own softflowd and pfflowd. Please refer to the README for more information.
The flowd daemon follows the Unix philosophy of "doing one thing well" - it doesnt try to do anything beyond accepting NetFlow packets and storing them in a standard format on disk. In particular, it does not include support for storing flows in multiple formats or performing data analysis. That sort of thing is left to external tools. The source distribution includes several example tools including a basic reporting script and one to store flows in a SQL database.
Enhancements:
- This release includes major improvements to performance and functionality.
- In particular, the flow format has been modified to store more information and be faster to read, input and output buffering has been improved, new flow filtering options have been added, and the Python API has been rewritten and extended to be many times faster.
<<less
Download (0.17MB)
Added: 2006-02-27 License: BSD License Price:
1337 downloads
flow 0.5.3

flow 0.5.3


particle animation software with with RenderMan output and shader support. more>> flow allows one to interactively construct sophisticated particle systems and render the results either in real-time via OpenGL or off-line by a RenderMan compliant renderer. f l o w can also render a particle system to code. Using a project template, f l o w fills in the required code to automatically produce demos or screensavers.
flow is not intended to be a typical modeling/animation package. Although it does have limited polygonal object import capability, its main purpose is to fiddle around with particle systems and shaders.
flow will be perpetually under development, so some functionality may be incomplete and there are many features that have not yet been implemented. However, it is reasonably stable and quite usable in its current form. I started flow somewhere around October 98, and worked on it solid for about a year. Development has been slower recently, but there are still a lot of things I want to add.
flow runs on Linux and IRIX. It should port easily to other UNIXes supported by Qt and BMRT.
features:
* real-time animation - OpenGL previews of the particle systems. Particles can be drawn as points, lines, or textured quads.
* off-line rendering - outputs RIB and calls an external RenderMan compliant renderer to handle the scene. Particles can be rendered as spheres, capped tubes, or camera-facing disks.
* scene building - simple scenes can be constructed with polygons, quadrics, planes and boxes. All surfaces can use surface and displacement shaders to add visual richness.
* shader editor - integrated shader tweaker allows full access to all surface and displacement shader parameters.
* code generation - render a particle animation to code. crank out cool screensavers with ease.
* multiple orthographic views - lights, particle actions, and geometry can be manipulated in orthographic viewports.
* interactive camera recording - intuitive mouse driven camera controls can be recorded during particle simulations
<<less
Download (912KB)
Added: 2009-04-29 License: Freeware Price:
254 downloads
FlowScan 1.006

FlowScan 1.006


FlowScan is a network analysis and reporting tool. more>>
FlowScan is a network analysis and reporting tool.[ COPYRIGHT=1]
Enhancements:
- The CampusIO and SubNetIO reports were enhanced with a new optional configuration directive: TopN. When defined, this directive causes ``Top Talker reports to be produced. These HTML reports contain the most active (i.e. ``top) source and destination addresses.
- The CampusIO and SubNetIO reports were enhanced to record the number of local IP addresses that where active for each network and subnet into the RRD files. This enables users to estimate the number of active hosts hosts over time, detect ``scans which systematically sweep across network address space, and to calculate the average bytes, packets, and flows per host.
- The template Makefile used to produce the graphs was enhanced to allow the inclusion of ``events in the graphs, similarly to what can be done with Cricket. This allows you to label events such as configuration changes and outages to discover correlations with traffic measurement.
- Two new utilities suitable for stand-alone use, are included. ip2hostname converts IP addresses to their respective hostnames. event2vrule adds ``events to rrdtool graphs.
- Added support for LFAP (Lightweight Flow Accouting Protocol) used by Riverstone and Enterasys (formerly Cabletron) routers. This currently requires slate (from http://www.nmops.org) and lfapd by Steven Premeau . lfapd produces time-stamped raw flow files in the same cflowd-defined format that is processed by FlowScan.
- Added the ability for the CampusIO report to identify outbound flows based solely on the flows destination IP address. While this is less trustworthy than using NextHops or OutputIfIndexes, it is now the default and will be useful for environments where the flow nexthop or output ifIndex values are not meaningful.
- The CampusIO report contains a new experimental feature which reads a BGP routing table, and therefore can determine which Autonomous systems source, transit, or sink most of your institutions traffic. The CampusIO report was enhanced with new optional configuration directives: BGPDumpFile, TopN, ReportPrefixFormat. When properly defined, these directives cause CampusIO to create tabular HTML reports named {origin|path}_{in|out}.html under OutputDir after analyzing each raw flow file. These reports show the ``top Autonomous Systems with which your site exchanges traffic.
- A WebProxyIfIndex directive was added to the CampusIO report. This allows one to specify the index of the interface to which HTTP traffic is being transparently redirected. This enables FlowScan to properly count HTTP flows even though NetFlow v5 does not accurately report the nexthop value for flows which are transparently redirected via a Cisco route-map.
- CampusIO now contains a fix for a bug introduced in FlowScan-1.005 which would sometimes cause perl to abort with this message: patricia.c:645: patricia_lookup: Assertion `prefix failed.
<<less
Download (0.14MB)
Added: 2006-08-05 License: GPL (GNU General Public License) Price:
1179 downloads
glFlow 0.1.4

glFlow 0.1.4


glFlow is a (D)DoS logger written with speed in mind. more>>
glFlow is a (D)DoS logger written with speed in mind. glFlow detects attacks on high speed links through real-time flow aggregation and analysis.
What do I run it on ?
It was written on FreeBSD and tested on both FreeBSD and Linux. It should work on any OS to which libpcap and OpenSSL were ported. The rest of the code is perfectly portable.
How does it work ?
Cisco Systems have defined the flow as a four value tuplet: {srcaddr, srcport, dstaddr, dstport}. The format evolved over time. The complete structures for various NetFlow versions are available on Ciscos site. Now, lets assume that the attacker floods the victim with packets that keep the same characteristics throughout the duration of the attack. No source spoof, no
source port increments or randomizations. That would lead to a very large packet rate inside that flow. glFlow calculates the average packet rate in every flow and raises an alarm signal if the threshold is hit.
What about spoofed attacks ? How are they detected ? Simple. glFlow keeps a history for every destination host that it sees. When a new flow is created, the flow counter for that host is incremented. The average number of newly created flows corresponding to a specific host in a specific amount of time is calculated, and, as above, an alarm is raised if the threshold is hit.
To prevent attacks that dont hit any of the above thresholds, theres
a new one starting with v0.1, measuring the packet rate for a destination.
Cant other tools, like SNORT, do this ?
We sincereley believe not. Remember, glFlow was written with high
speeds in mind. Weve been using it at over 500Mbps. At that speed, with an
ordinary x86 machine, even with a strong motherboard/NIC combination, you cant
do anything fancy. glFlow was specifically designed for detecting large floods
in real time, or at least something close to that.
How is it that its so fast ?
Well, Andrei did a great job implementing a very fast binary tree. That allowed us to drop the threaded model and choose a single loop design. The new results were stunning. The tests were made on a P4 Xeon/3 GHz, with an Intel GigE NIC. The average traffic rate was about 500Mbps, with an average packet rate of 100kpps. That lead to about 200k active flows. glFlow managed to clean the inactive ones in less than 0.3 seconds. There was no alarm raised
after more than 5 seconds of flooding. glFlow ate ~50% of the CPU, while consuming about 40MB of system memory.
How do I install and run it ?
Run ./configure --help. Youll see two adjustable knobs: --with-hash and --enable-debug. The first one permits you to switch between MD4 and MD5 summing of the flow and host structures kept in the memory. The second lets you run glflow in the foreground, printing some statistics on stdout.
The thresholds are harcoded in defs.h. You shouldnt have any trouble tweaking them. However, weve observed that the best results are obtained when using the same values for flow lifetime and the time between flow cleanups. And they shouldnt be much over 20. The smaller the tree is, the faster it will be cleaned.
Finally, edit your /etc/syslog.conf and write something like this: "local6.*< tabs >/var/log/something". Restart sys[k]logd afterwards.
Fire glFlow up, like this: "./glFlow < interface > < bpf filter >" and watch /var/log/something for changes. You may play with nmap or some DoS programs to test it. The IPs in the syslog will be shown as integers rather than in dotted notation. We decided to leave this job to the log analyzer.
Can it go even faster ?
Sure. There are a few methods which permit you to improve the packet capture. For more info read Luca Deris paper: http://luca.ntop.org/Ring.pdf
Enhancements:
- This is a bugfix release.
<<less
Download (0.10MB)
Added: 2006-12-05 License: GPL (GNU General Public License) Price:
1054 downloads
KJam Build Tool 0.37

KJam Build Tool 0.37


KJam is a build tool like make. more>>
KJam is a build tool like make. It uses a syntax similar to Jam, with more powerful features than the original Jam.
It has built-in very fast dependency scanning, per-target viewpathing, and C-like control flow. It is optimized for multi-processor machines. It can accelerate building by launching build actions on a distributed peer to peer network of build servers.
KJam Build Tool is designed to support large projects with thousands of targets, or projects requiring building on many target architectures.
KJam is designed to be:
Unintrusive and clean KJam is small. It has negligible CPU overhead, and it doesnt create or leave behind temporary files.
Scalable KJam is able to build large projects spread across many directories in a single pass and can manage and distribute build steps to multiple processors on one or more networked machines.
Highly portable KJam currently runs only on Windows, but it is designed to be easily portable. Ports to Linux and OSX are planned.
Multiplatform Platform independent rules and platform specific actions can be defined separately from dependency rules.
Customizable Developers can enhance and extend KJam by creating user defined rules to utilize other built-in directives.
Language KJam includes flow-control statements, variables, and a few other features of general purpose languages.
Automatic Dependencies KJam computes dependencies for its targets during building. There is no need for a separate off-line make depend step.
Enhancements:
- A new "immediate" action modifier keyword was added, which causes actions to be run as soon as they are parsed, instead of during the command phase.
- Output formatting was improved.
- Several bugs were fixed.
<<less
Download (0.30MB)
Added: 2007-03-21 License: Free for non-commercial use Price:
974 downloads
XML::XQL 0.68

XML::XQL 0.68


XML::XQL is a perl module for querying XML tree structures with XQL. more>>
XML::XQL is a perl module for querying XML tree structures with XQL.

SYNOPSIS

use XML::XQL;
use XML::XQL::DOM;

$parser = new XML::DOM::Parser;
$doc = $parser->parsefile ("file.xml");

# Return all elements with tagName=title under the root element book
$query = new XML::XQL::Query (Expr => "book/title");
@result = $query->solve ($doc);
$query->dispose; # Avoid memory leaks - Remove circular references

# Or (to save some typing)
@result = XML::XQL::solve ("book/title", $doc);

# Or (to save even more typing)
@result = $doc->xql ("book/title");

The XML::XQL module implements the XQL (XML Query Language) proposal submitted to the XSL Working Group in September 1998. The spec can be found at: http://www.w3.org/TandS/QL/QL98/pp/xql.html Most of the contents related to the XQL syntax can also be found in the XML::XQL::Tutorial that comes with this distribution. Note that XQL is not the same as XML-QL!

The current implementation only works with the XML::DOM module, but once the design is stable and the major bugs are flushed out, other extensions might follow, e.g. for XML::Grove.

XQL was designed to be extensible and this implementation tries to stick to that. Users can add their own functions, methods, comparison operators and data types. Plugging in a new XML tree structure (like XML::Grove) should be a piece of cake.
To use the XQL module, either

use XML::XQL;
or
use XML::XQL::Strict;

The Strict module only provides the core XQL functionality as found in the XQL spec. By default (i.e. by using XML::XQL) you get XQL+, which has some additional features.

See the section "Additional Features in XQL+" for the differences.
This module is still in development. See the To-do list in XQL.pm for what still needs to be done. Any suggestions are welcome, the sooner these implementation issues are resolved, the faster we can all use this module.

If you find a bug, you would do me great favor by sending it to me in the form of a test case. See the file t/xql_template.t that comes with this distribution.

If you have written a cool comparison operator, function, method or XQL data type that you would like to share, send it to tjmather@tjmather.com and I will add it to this module.

<<less
Download (0.11MB)
Added: 2006-06-15 License: Perl Artistic License Price:
1232 downloads
Visopsys 0.68

Visopsys 0.68


Visopsys is an alternative operating system for PC compatible computers. more>> <<less
Download (7.5MB)
Added: 2007-05-10 License: GPL (GNU General Public License) Price:
899 downloads
FlowDesigner 0.9.0

FlowDesigner 0.9.0


FlowDesigner is a free (GPL/LGPL) data flow oriented development environment. more>>
FlowDesigner is a free (GPL/LGPL) data flow oriented development environment. It can be used to build complex applications by combining small, reusable building blocks. In some ways, it is similar to both Simulink and LabView, but is hardly a clone of either.
FlowDesigner features a RAD GUI with a visual debugger. Although FlowDesigner can be used as a rapid prototyping tool, it can still be used for building real-time applications such as audio effects processing. Since FlowDesigner is not really an interpreted language, it can be quite fast.
It is written in C++ and features a plugin mechanism that allows plugins/toolboxes to be easiliy added.
Main features:
- Signal processing
- Audio processing (DSP)
- Vector quantization
- Neural network
- Fuzzy logic
- Real-time audio effect processing (pre-alpha)
- Linear algebra using LAPACK (pre-alpha)
- Octave plug-in (pre-alpha)
- Robotics
<<less
Download (2.6MB)
Added: 2005-10-11 License: LGPL (GNU Lesser General Public License) Price:
1477 downloads
cflowd 2.0

cflowd 2.0


cflowd is a flow analysis tool currently used for analyzing Ciscos NetFlow enabled switching method. more>>
cflowd is a flow analysis tool currently used for analyzing Ciscos NetFlow enabled switching method.

The current release (described below) includes the collections, storage, and basic analysis modules for cflowd and for arts++ libraries. This analysis package permits data collection and analysis by ISPs and network engineers in support of capacity planning, trends analysis, and characterization of workloads in a network service provider environment. Other areas where cflowd may prove useful are: tracking for Web hosting, accounting and billing, network planning and analysis, network monitoring, developing user profiles, data warehousing and mining, as well as security-related investigations.


cflowd is no longer supported by CAIDA. Instead, please consider the use of flow-tools, which will provide a toolset for working with NetFlow data. flow-tools can also be used (like cflowd) in conjunction with FlowScan, maintained by Dave Plonka at the University of Wisconsin, Madison.

<<less
Download (5.4MB)
Added: 2006-06-29 License: GPL (GNU General Public License) Price:
700 downloads
Akarmi - Flow 0.0.6

Akarmi - Flow 0.0.6


Akarmi - Flow is a template-based C++ framework. more>>
Akarmi - Flow is a template-based C++ framework. Akarmi - Flow simplifies creating programs from independent processing elements that are connected by event channels.

It is currently being rewritten to use terms similar to CORBAs event service.

Installation:

cmake .
make all
make install

[testing: optional]
cd test
make test
<<less
Download (0.012MB)
Added: 2006-03-16 License: BSD License Price:
1317 downloads
XML::XQL::Tutorial 0.68

XML::XQL::Tutorial 0.68


XML::XQL::Tutorial is a Perl module that describes the XQL query syntax. more>>
XML::XQL::Tutorial is a Perl module that describes the XQL query syntax.

This document describes basic the features of the XML Query Language (XQL.) A proposal for the XML Query Language (XQL) specification was submitted to the XSL Working Group in September 1998. The spec can be found at http://www.w3.org/TandS/QL/QL98/pp/xql.html. Since it is only a proposal at this point, things may change, but it is very likely that the final version will be close to the proposal. Most of this document was copied straight from the spec.
See also the XML::XQL man page.

XQL (XML Query Language) provides a natural extension to the XSL pattern language. It builds upon the capabilities XSL provides for identifying classes of nodes, by adding Boolean logic, filters, indexing into collections of nodes, and more.
XQL is designed specifically for XML documents. It is a general purpose query language, providing a single syntax that can be used for queries, addressing, and patterns. XQL is concise, simple, and powerful.

XQL is designed to be used in many contexts. Although it is a superset of XSL patterns, it is also applicable to providing links to nodes, for searching repositories, and for many other applications.

Note that the term XQL is a working term for the language described in this proposal. It is not their intent that this term be used permanently. Also, beware that another query language exists called XML-QL, which uses a syntax very similar to SQL.
The XML::XQL module has added functionality to the XQL spec, called XQL+. To allow only XQL functionality as described in the spec, use the XML::XQL::Strict module. Note that the XQL spec makes the distinction between core XQL and XQL extensions. This implementation makes no distinction and the Strict module, therefore, implements everything described in the XQL spec. See the XML::XQL man page for more information about the Strict module. This tutorial will clearly indicate when referring to XQL+.

<<less
Download (0.11MB)
Added: 2006-09-20 License: Perl Artistic License Price:
1130 downloads
The Gerris Flow Solver 0.9.2

The Gerris Flow Solver 0.9.2


Gerris is an Open Source Free Software library for the solution of the partial differential equations describing fluid flow. more>>
Gerris project is an Open Source Free Software library for the solution of the partial differential equations describing fluid flow.
Gerris is supported by NIWA (National Institute of Water and Atmospheric research) and by the Marsden Fund of the Royal Society of New Zealand.
The code is written entirely in C and uses both the GLib Library and the GTS Library for geometrical functions and object-oriented programming.
Main features:
- The same code base is compiled with 2D and 3D support.
- Quadtree-based (Octree in 3D) spatial discretisation with automatic and dynamic local refinement.
- Multigrid Poisson solver.
- Second-order Godunov type advection scheme.
- Solves the time-dependent incompressible variable-density Euler, Stokes or Navier-Stokes equations or the 2D shallow-water and 3D hydrostatic oceanic equations.
- Support for complex solid boundaries (automatic locally-refined mesh generation).
- Semi-implicit multigrid diffusion solver with support for complex boundaries and associated boundary conditions in 2D and 3D.
- Semi-implicit multigrid barotropic solver for the oceanic equations.
- Adaptive mesh refinement: the resolution is adapted dynamically to the features of the flow.
- Flexible and powerful specifications of parameters.
- Flexible object-oriented custom specification of initial and boundary conditions, source terms, outputs etc...
- Portable parallel support using the MPI library.
- Volume of Fluid advection scheme for interfacial flows.
Enhancements:
- Bugfixes and significant speedups in the multilevel Poisson solver.
- Support for variable mesh resolution along solid boundaries.
- Improvements have been made to the robustness of very complex solid boundaries.
- Adaptive refinement of VOF-advected tracers has been added, as well as a preliminary implementation of CSF surface tension using Renardy El Ab.
- "proper discretisation".
- Solid boundaries can be refined according to the local curvature.
- Implicit Coriolis terms work with the Navier-Stokes solver.
- There is support for "thin" 3D domains.
<<less
Download (3.9MB)
Added: 2006-10-26 License: GPL (GNU General Public License) Price:
1106 downloads
Event::ExecFlow 0.62

Event::ExecFlow 0.62


Event::ExecFlow is a high level API for event-based execution flow control. more>>
Event::ExecFlow is a high level API for event-based execution flow control.

ABSTRACT

Event::ExecFlow provides a ligh level API for defining complex flow controls with asynchronous execution of external programs.

SYNOPSIS

use Event::ExecFlow;

my $job = Event::ExecFlow::Job::Group->new (
jobs => [
Event::ExecFlow::Job::Command->new (
name => "transcode",
title => "Transcoding DVD title to OGG",
command => "transcode -i /dev/dvd ...",
fetch_output => 1,
progress_max => 4711, # number of frames
progress_parser => sub {
my ($job, $buffer) = @_;
$job->set_progress_cnt($1) if $buffer =~ /[d+-(d+)]/;
#-- or simply write this:
#-- progress_parser => qr/[d+-(d+)]/,
},
),
Event::ExecFlow::Job::Code->new (
name => "checks",
title => "Do some checks",
depends_on => [ "transcode" ],
code => sub {
my ($job) = @_;
my $transcode = $job->get_group->get_job_by_name("transcode");
if ( $transcode->get_output !~ /.../ ) {
$job->set_error_message("XY check failed");
}
#-- this could be done easier as a post_callback added to
#-- the "transcode" job above, but its nevertheless a good
#-- example for the Code job type and shows how jobs can
#-- interfere with each other.
},
),
Event::ExecFlow::Job::Command->new (
title => "Muxing OGG file",
depends_on => [ "checks" ],
command => "ogmmerge ...",
no_progress => 1,
),
],
);

#-- this inherits from Event::ExecFlow::Frontend
my $frontend = Video::DVDRip::GUI::ExecFlow->new(...);
$frontend->start_job($job);

Event::ExecFlow offers a high level API to declare jobs, which mainly execute external commands, parse their output to get progress or other status information, triggers actions when the command has been finished etc. Such jobs can be chained together in a recursive fashion to fulfill rather complex tasks which consist of many jobs.

Additionally it defines an extensible API for communication with the frontend application, which may be a written using Gtk2, Tk or Qt or is a simple text console program.

In case of Gtk2 a custom widget for displaying an Event::ExecFlow job plan, including progress updates, is shipped with the Gtk2::Ex::FormFactory package.

<<less
Download (0.015MB)
Added: 2007-03-09 License: Perl Artistic License Price:
962 downloads
SyncPOD 0.68

SyncPOD 0.68


SyncPOD is a program that syncs a local folder with your iPod. more>>
This script syncs a local directory with your iPod. If the directory is larger than the space on your iPod you can sync this larger directory with a master playlist. As alternative you can sync just a bunch of playlists.
By typing "SyncPOD" the sync is done ... nothing more nothing less. Configuration is done with a config file ("~/.ipod/config").
You need a FAT32 iPod, Linux with IEEE1394 harddisks support (*BSD may work too) and Perl5 to do that.
Everything is done in Perl, not just a C wrapper. Nothing is OS specific. The iPod needs to be mounted somewhere, if you can manage that, you have won...
Version restrictions:
- This is a one-way sync to your iPod, which means files are deleted from the drive if they dont exist in the syncdir or playlists.
- Your MP3 files have to be uniquely named, even if they are in subdirectories.
- Some characters in the MP3 names are not possible: "?" is one of them. (FAT32 problem ?)
- The master playlist has to point to files within your SYNCDIR.
<<less
Download (0.015MB)
Added: 2005-07-26 License: GPL (GNU General Public License) Price:
1552 downloads
Secleted [ 0 ] software to compare
  • Page: 1 of 5
  • 1
  • 2
  • 3
  • 4
  • 5