evlobj - The command line utility to store and retrieve objects on the Grid Network

This small tool can be used to store and retrieve specific object classes using the Nodezilla Grid Network. To use it, you need a Network Agent (supporting the EasyObjects? CORBA interface), i.e. version >= 0.4.19.

What kind of objects can you manipulate ?

Any kind .... or more precisely, any ALLOWED kind. Not all object classes (there are many used in the network) are available to clients through EasyObjects?.

Objects are described through properties (basically a key name, and an associated content). For each of the allowed classes, a subset or all properties of the class can be read and/or written. The actual rights for each class/properties is dependant on the existence of the proper adapter in the Network Agent you will connect to with evlobj.

Available classes

EVLTorrentDirectoryObject?

This class is used to store BitTorrent? torrents (these are the objects that the AzureusPlugin deal with). The objID of these objects is equal to the torrent "InfoHash?". Available properties:

  • binary: content of the .torrent file (RW)
  • version: version number of this object (RW)
  • name: name of the torrent, derived from the content (RO)

EVLUserGenericDirectoryObject

This class is a generic container for user defined objects. The content of these objects are digitally signed, and their objID is the SHA-1 of their content. Available properties:

  • binary: whatever content you want (must be <128K in length) (RW)
  • version: version number of this object (RW)
  • name: name of the object (RW)

Extensions

Want some specific classes, properties, have ideas for extensions, just tell ....

evlobj syntax

evlobj [options] [get | store] [args]

Misc parameters [options]

All the following options are optional:

  • [-s server location as host:port], default is 127.0.0.1:2525
  • [-t timeout] timeout for GET operations in second, default is 15
  • [-o output file name] Store "binary" property to this file (for GET operations), all other properties are ignored
  • [-i input file name] Read input data from this file to build the binary property (for STORE operations). Default is stdin

Storing an object [store]

[args] for "store":

classname version_number object_name

If insertion is succesfull, evlobj will display the object ID of the newly inserted object.

Getting an object [get]

[args] for "get"

classname/OBJID [optional_minimum_version_to_get]

Examples

Retrieves a TorrentFileDirectoryObject? to test.torrent:

evlobj -s 127.0.0.1:2527 -o test.torrent get EVLTorrentDirectoryObject/B02E6DAE0A4A935B4EC3091F818E51093DC39A8A

Stores a EVLUserGenericDirectoryObject reading content from test.txt:

evlobj -s 127.0.0.1:2527 -i test.txt store EVLUserGenericDirectoryObject 1 test