tree 2f993b4c101a0a928c3fed9027e5bd9b12ba9273
parent 48bcfdab24d1823eb84b261ed2458b9ff9fef315
author Thierry FOURNIER <tfournier@exceliance.fr> 1386777352 +0100
committer Willy Tarreau <w@1wt.eu> 1386860310 +0100
encoding latin1

MEDIUM: map: dynamic manipulation of maps

This patch adds map manipulation commands to the socket interface.

add map <map> <key> <value>
  Add the value <value> in the map <map>, at the entry corresponding to
  the key <key>. This command does not verify if the entry already
  exists.

clear map <map>
  Remove entries from the map <map>

del map <map> <key>
  Delete all the map entries corresponding to the <key> value in the map
  <map>.

set map <map> <key> <value>
  Modify the value corresponding to each key <key> in a map <map>. The
  new value is <value>.

show map [<map>]
  Dump info about map converters. Without argument, the list of all
  available maps are returned. If a <map> is specified, is content is
  dumped.
