Crate tap

source · []
Expand description

TAP

TAP is a library that let you easily represent, transform and analyze data coming from different kind of binary parser.

Modules

Attributes are the base element stored in the Tree by the Plugins . Each Attribute contain a name, a Value and a description, and can be generated statically or dynamically.

Convert a Windows 64bits timestamp to a DateTime.

The main error enum used in TAP. It can handle different type of error.

Events let send and receive data trough channel.

MappedVFileBuilder is a file system developement helper, you can use it to create a generator of Reader. You don’t need to implement Read or Seek method but just to add different pointer (offset and size) to chunk of data from an existing Reader to the container.

A VFileBuilder that cache in memory the content of an other VFileBuilder.

Node is used as a tree item that let you access the static and dynamic attributes added by the plugins.

This module contain the different trait that Plugin must implement.

The dummy plugin is an exemple of how to write a plugin.

The dummy singleton plugin is an exemple of how to write a singleton/static plugin. This plugin instantiate method will always return the same object.

PluginsDB is the database containing all the registred plugins it provides you with helper function to manipulate plugins.

A reflection trait for Rust struct, that permit to access struct member as Attribute. ReflectStruct can be used with tap_derive macro to automatically generate Attribute from Struct.

Session is the main component of this library. it give you access to all the functionality of the library (plugins, taskmanager, the attributes and data tree, …).

The scheduler is in charge of runing tasks (plugin instancce and argument) in differents workers.

The tree let you access all the node and their attributes created by the different plugins, in an uniform and reflective ways.

Value is a variant type container used to store different kind of data inside an Attribute.

VFileBuilder is a trait that help build new ‘Virtual File’. It’s implemented as a trait with an open function returning a VFile (Read+Seek) this can be added as Value to the tree and so permit to create a stacked VFS as node can read on a VFile and generate a new one

Macros

Macro to help creation of plugin.