blob: 854b3400ac678353cfd43440eae9d05f0dbd068b [file] [log] [blame]
Jonathan Hart382623d2014-04-03 09:48:11 -07001package net.onrc.onos.apps.bgproute;
Jonathan Hart8f5f4682013-08-07 22:13:39 +12002
3import java.util.Iterator;
4
Jonathan Hart29b972d2013-08-12 23:43:51 +12005public interface IPatriciaTrie<V> {
6 public V put(Prefix prefix, V value);
Jonathan Hart8f5f4682013-08-07 22:13:39 +12007
Jonathan Hart29b972d2013-08-12 23:43:51 +12008 public V lookup(Prefix prefix);
Jonathan Hart8f5f4682013-08-07 22:13:39 +12009
Jonathan Hart29b972d2013-08-12 23:43:51 +120010 public V match(Prefix prefix);
Jonathan Hart8f5f4682013-08-07 22:13:39 +120011
Jonathan Hart29b972d2013-08-12 23:43:51 +120012 public boolean remove(Prefix prefix, V value);
Jonathan Hart8f5f4682013-08-07 22:13:39 +120013
Jonathan Hart29b972d2013-08-12 23:43:51 +120014 public Iterator<Entry<V>> iterator();
Jonathan Hart8f5f4682013-08-07 22:13:39 +120015
Jonathan Hart29b972d2013-08-12 23:43:51 +120016 interface Entry<V> {
Jonathan Hart8f5f4682013-08-07 22:13:39 +120017 public Prefix getPrefix();
Jonathan Hart29b972d2013-08-12 23:43:51 +120018 public V getValue();
Jonathan Hart8f5f4682013-08-07 22:13:39 +120019 }
20}