Package rst.generic

Message which are capable of handling dynamic data types.

This is not the preferred way of using RST, but cannot be avoided in certain cases. If possible, use semantically-defined data types.

Messages

digraph message_graph {
fontname="Arial";
fontsize=11;
stylesheet="../_static/corlab.css";
  node [fontsize=11]
  node [fontname="Arial"]
  edge [fontsize=11]
  edge [fontname="Arial"]
  "4" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-generic.html#rst.generic.Dictionary" TITLE="Structure rst.generic.Dictionary" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="RIGHT"><IMG SRC="../_static/message.svg" /></TD><TD ALIGN="LEFT">Dictionary</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-generic.html#rst.generic.KeyValuePair" TITLE="Structure rst.generic.KeyValuePair" TARGET="_parent">KeyValuePair</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-generic.html#rst.generic.Dictionary.entries" TITLE="Field rst.generic.Dictionary.entries" TARGET="_parent" PORT="entries">entries</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"];
  "5" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-generic.html#rst.generic.KeyValuePair" TITLE="Structure rst.generic.KeyValuePair" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="RIGHT"><IMG SRC="../_static/message.svg" /></TD><TD ALIGN="LEFT">KeyValuePair</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-ASCII-STRING.html#ASCII-STRING" TITLE="Fundamental ASCII-STRING" TARGET="_parent">ASCII-STRING</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-generic.html#rst.generic.KeyValuePair.key" TITLE="Field rst.generic.KeyValuePair.key" TARGET="_parent" PORT="key">key</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-generic.html#rst.generic.Value" TITLE="Structure rst.generic.Value" TARGET="_parent">Value</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-generic.html#rst.generic.KeyValuePair.value" TITLE="Field rst.generic.KeyValuePair.value" TARGET="_parent" PORT="value">value</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"];
  "1" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-generic.html#rst.generic.MethodCall" TITLE="Structure rst.generic.MethodCall" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="RIGHT"><IMG SRC="../_static/message.svg" /></TD><TD ALIGN="LEFT">MethodCall</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-OCTET-VECTOR.html#OCTET-VECTOR" TITLE="Fundamental OCTET-VECTOR" TARGET="_parent">OCTET-VECTOR</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-generic.html#rst.generic.MethodCall.name" TITLE="Field rst.generic.MethodCall.name" TARGET="_parent" PORT="name">name</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-generic.html#rst.generic.Value" TITLE="Structure rst.generic.Value" TARGET="_parent">Value</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-generic.html#rst.generic.MethodCall.arguments" TITLE="Field rst.generic.MethodCall.arguments" TARGET="_parent" PORT="arguments">arguments</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"];
  "2" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-generic.html#rst.generic.Value" TITLE="Structure rst.generic.Value" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="RIGHT"><IMG SRC="../_static/message.svg" /></TD><TD ALIGN="LEFT">Value</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-generic.html#rst.generic.Value.Type" TITLE="Enum rst.generic.Value.Type" TARGET="_parent">Type</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-generic.html#rst.generic.Value.type" TITLE="Field rst.generic.Value.type" TARGET="_parent" PORT="type">type</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-INT64.html#INT64" TITLE="Fundamental INT64" TARGET="_parent">INT64</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-generic.html#rst.generic.Value.int" TITLE="Field rst.generic.Value.int" TARGET="_parent" PORT="int">int</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-FLOAT64.html#FLOAT64" TITLE="Fundamental FLOAT64" TARGET="_parent">FLOAT64</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-generic.html#rst.generic.Value.double" TITLE="Field rst.generic.Value.double" TARGET="_parent" PORT="double">double</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-ASCII-STRING.html#ASCII-STRING" TITLE="Fundamental ASCII-STRING" TARGET="_parent">ASCII-STRING</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-generic.html#rst.generic.Value.string" TITLE="Field rst.generic.Value.string" TARGET="_parent" PORT="string">string</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-BOOL.html#BOOL" TITLE="Fundamental BOOL" TARGET="_parent">BOOL</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-generic.html#rst.generic.Value.bool" TITLE="Field rst.generic.Value.bool" TARGET="_parent" PORT="bool">bool</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-OCTET-VECTOR.html#OCTET-VECTOR" TITLE="Fundamental OCTET-VECTOR" TARGET="_parent">OCTET-VECTOR</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-generic.html#rst.generic.Value.binary" TITLE="Field rst.generic.Value.binary" TARGET="_parent" PORT="binary">binary</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-generic.html#rst.generic.Value" TITLE="Structure rst.generic.Value" TARGET="_parent">Value</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-generic.html#rst.generic.Value.array" TITLE="Field rst.generic.Value.array" TARGET="_parent" PORT="array">array</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"];
  "3" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-generic.html#rst.generic.Value.Type" TITLE="Enum rst.generic.Value.Type" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="RIGHT"><IMG SRC="../_static/enum.svg" /></TD><TD ALIGN="LEFT">Type</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-generic.html#rst.generic.Value.Type.VOID" TITLE="Singleton rst.generic.Value.Type.VOID" TARGET="_parent">VOID</TD><TD ALIGN="right" HREF="../generated/stable/package-rst-generic.html#rst.generic.Value.Type.VOID" TITLE="Singleton rst.generic.Value.Type.VOID" TARGET="_parent">1</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-generic.html#rst.generic.Value.Type.INT" TITLE="Singleton rst.generic.Value.Type.INT" TARGET="_parent">INT</TD><TD ALIGN="right" HREF="../generated/stable/package-rst-generic.html#rst.generic.Value.Type.INT" TITLE="Singleton rst.generic.Value.Type.INT" TARGET="_parent">2</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-generic.html#rst.generic.Value.Type.DOUBLE" TITLE="Singleton rst.generic.Value.Type.DOUBLE" TARGET="_parent">DOUBLE</TD><TD ALIGN="right" HREF="../generated/stable/package-rst-generic.html#rst.generic.Value.Type.DOUBLE" TITLE="Singleton rst.generic.Value.Type.DOUBLE" TARGET="_parent">3</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-generic.html#rst.generic.Value.Type.STRING" TITLE="Singleton rst.generic.Value.Type.STRING" TARGET="_parent">STRING</TD><TD ALIGN="right" HREF="../generated/stable/package-rst-generic.html#rst.generic.Value.Type.STRING" TITLE="Singleton rst.generic.Value.Type.STRING" TARGET="_parent">4</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-generic.html#rst.generic.Value.Type.BOOL" TITLE="Singleton rst.generic.Value.Type.BOOL" TARGET="_parent">BOOL</TD><TD ALIGN="right" HREF="../generated/stable/package-rst-generic.html#rst.generic.Value.Type.BOOL" TITLE="Singleton rst.generic.Value.Type.BOOL" TARGET="_parent">5</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-generic.html#rst.generic.Value.Type.BINARY" TITLE="Singleton rst.generic.Value.Type.BINARY" TARGET="_parent">BINARY</TD><TD ALIGN="right" HREF="../generated/stable/package-rst-generic.html#rst.generic.Value.Type.BINARY" TITLE="Singleton rst.generic.Value.Type.BINARY" TARGET="_parent">6</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-generic.html#rst.generic.Value.Type.ARRAY" TITLE="Singleton rst.generic.Value.Type.ARRAY" TARGET="_parent">ARRAY</TD><TD ALIGN="right" HREF="../generated/stable/package-rst-generic.html#rst.generic.Value.Type.ARRAY" TITLE="Singleton rst.generic.Value.Type.ARRAY" TARGET="_parent">7</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"];
  "4":entries -> "5" [];
  "5":value -> "2" [];
  "1":arguments -> "2" [];
  "2" -> "3" [dir=both,arrowtail=odiamond];
  "2":array -> "2" [];
  "2":type -> "3" [];
}

clearer: should be made invisible via css

Message MethodCall

class rst.generic.MethodCall

Represents a call to a named method with multiple <Could not resolve reference to Value> as arguments.

Code author: Johannes Wienke <jwienke@techfak.uni-bielefeld.de>

name
Type :OCTET-VECTOR

Name of the method to call.

ASCII string.

arguments
Type :array of rst.generic.Value

The method arguments.

Download this file

message MethodCall {

    /**
     * Name of the method to call.
     *
     * ASCII string.
     */
    required bytes name = 1;

    /**
     * The method arguments.
     */
    repeated Value arguments = 2;

}

Message Dictionary

class rst.generic.Dictionary

A list of key-value pairs.

Code author: Arne Nordmann <anordman@techfak.uni-bielefeld.de>

entries
Type :array of rst.generic.KeyValuePair

The list of key-value pairs.

Ordering is ignored and duplicated keys must be avoided.

Download this file

message Dictionary {

    /**
     * The list of key-value pairs.
     *
     * Ordering is ignored and duplicated keys must be avoided.
     */
    repeated KeyValuePair entries = 1;

}

Message KeyValuePair

class rst.generic.KeyValuePair

Combines a generic value with an identifying string key.

Code author: Arne Nordmann <anordman@techfak.uni-bielefeld.de>

key
Type :ASCII-STRING

The key of this entry.

value
Type :rst.generic.Value

The value.

Download this file

message KeyValuePair {

    /**
     * The key of this entry.
     */
    required string key = 1;

    /**
     * The value.
     */
    required Value value = 2;

}

Message Value

class rst.generic.Value

A representation of a generic value with a dynamic type.

Each value has a declared type in type indicating which of the remaining type-specific fields contains the value, expect for VOID, where no value is transported at all (most useful for return types).

Code author: Johannes Wienke <jwienke@techfak.uni-bielefeld.de>

type
Type :rst.generic.Value.Type

The type of the value transported in this message.

int
Type :INT64

Not documented

double
Type :FLOAT64

Not documented

string
Type :ASCII-STRING

Not documented

bool
Type :BOOL

Not documented

binary
Type :OCTET-VECTOR

Not documented

array
Type :array of rst.generic.Value

Contained elements can be of different types and ordering is important.

Download this file

package rst.generic;

option java_outer_classname = "ValueType";

/**
 * A representation of a generic value with a dynamic type.
 *
 * Each value has a declared type in @ref .type indicating which of the
 * remaining type-specific fields contains the value, expect for
 * @ref .Type.VOID, where no value is transported at all (most useful for return
 * types).
 *
 * @author Johannes Wienke <jwienke@techfak.uni-bielefeld.de>
 */
message Value {

    /**
     * The list of supported types.
     */
    enum Type {
        VOID = 1;
        INT = 2;
        DOUBLE = 3;
        STRING = 4;
        BOOL = 5;
        BINARY = 6;
        /**
         * Indicate that a list of Values is contained in @ref Value.array
         * representing an array.
         */
        ARRAY = 7;
    }

    /**
     * The type of the value transported in this message.
     */
    required Type type = 1;

    optional int64 int = 2;
    optional double double = 3;
    optional string string = 4;
    optional bool bool = 5;
    optional bytes binary = 6;
    /**
     * Contained elements can be of different types and ordering is important.
     */
    repeated Value array = 7;

}

Message Type

class rst.generic.Value.Type

The list of supported types.

VOID
= 1

Not documented

INT
= 2

Not documented

DOUBLE
= 3

Not documented

STRING
= 4

Not documented

BOOL
= 5

Not documented

BINARY
= 6

Not documented

ARRAY
= 7

Indicate that a list of Values is contained in <Could not resolve reference to Value.array> representing an array.

Download this file

    enum Type {
        VOID = 1;
        INT = 2;
        DOUBLE = 3;
        STRING = 4;
        BOOL = 5;
        BINARY = 6;
        /**
         * Indicate that a list of Values is contained in @ref Value.array
         * representing an array.
         */
        ARRAY = 7;
    }

Table Of Contents

Related Documentation

This Page