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":
If insertion is succesfull, evlobj will display the object ID of the newly inserted object.
Getting an object [get]
[args] for "get"
Examples
Retrieves a TorrentFileDirectoryObject? to test.torrent:
Stores a EVLUserGenericDirectoryObject? reading content from test.txt: