SFFTable (Siena 2.0.4 API Documentation)
Date: 2015-05-17

siena.fwd

## Class SFFTable

- java.lang.Object
- - siena.fwd.SFFTable

- All Implemented Interfaces:
    ForwardingTable

      public class SFFTable
      extends java.lang.Object
      implements ForwardingTable

  implementation of the Siena Fast Forwarding (SFF) algorithm. This implementation of the forwarding table and its matching algorithm is based on the data structure and algorithm described in A. Carzaniga and A.L. Wolf, "Forwarding in a Content-Based Network". Proceedings of ACM SIGCOMM 2003. A more complete and advanced implementation is available in C++ here.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `SFFTable()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `clear()` clears the forwarding table.
    `void` | `consolidate()`
    `void` | `ifconfig(java.lang.Object ifx, Predicate p)` associates an interface with a predicate This is the main method that builds the forwarding table.
    `void` | `match(Message m, MatchHandler p)` matches a message against the proedicates in the table.
    `void` | `match(Message m, MatchMessageHandler p)` matches a message against the proedicates in the table.
    `java.lang.String` | `toString()`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### SFFTable

          public SFFTable()

  - ### Method Detail

    - #### consolidate

          public void consolidate()

      Specified by:
        `consolidate` in interface `ForwardingTable`

    - #### clear

          public void clear()

      Description copied from interface: `ForwardingTable`
      clears the forwarding table. Removes every association of predicates and interfaces. After the execution of this method, the forwarding table is ready to be rebuilt from scratch.
      Specified by:
        `clear` in interface `ForwardingTable`

    - #### match

          public void match(Message m,
                   MatchMessageHandler p)

      Description copied from interface: `ForwardingTable`
      matches a message against the proedicates in the table. For each matching predicate, this method delegates the execution of a specific action to the given match handler.
      Specified by:
        `match` in interface `ForwardingTable`
      See Also:
        `MatchMessageHandler`

    - #### match

          public void match(Message m,
                   MatchHandler p)

      Description copied from interface: `ForwardingTable`
      matches a message against the proedicates in the table. For each matching predicate, this method delegates the execution of a specific action to the given match handler.
      Specified by:
        `match` in interface `ForwardingTable`
      See Also:
        `MatchHandler`

    - #### ifconfig

          public void ifconfig(java.lang.Object ifx,
                      Predicate p)
                        throws BadConstraintException

      Description copied from interface: `ForwardingTable`
      associates an interface with a predicate This is the main method that builds the forwarding table. It associates an interface object with a predicate. Notice that this forwarding table is a dictionary-type data structure, which means that this method may be called only once for each inteface object. If you need to modify the predicate associated with an interface, you must rebuild the entire forwarding table.
      Specified by:
        `ifconfig` in interface `ForwardingTable`
      Throws:
        `BadConstraintException`

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`

Copyright © 2000-2005 University of Colorado.
Copyright © 2005-2011 Antonio Carzaniga.
This documentation is maintained by Antonio Carzaniga