aboutsummaryrefslogtreecommitdiffstats
path: root/lib/plum/hpack/context.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/plum/hpack/context.rb')
-rw-r--r--lib/plum/hpack/context.rb9
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/plum/hpack/context.rb b/lib/plum/hpack/context.rb
index 0d0eb63..5973d94 100644
--- a/lib/plum/hpack/context.rb
+++ b/lib/plum/hpack/context.rb
@@ -33,6 +33,15 @@ module Plum
end
end
+ def search(name, value)
+ if value
+ i = STATIC_TABLE.index([name, value]) || @dynamic_table.index([name, value])
+ else
+ i = STATIC_TABLE.index {|n, _| n == name } || @dynamic_table.index {|n, _| n == name }
+ end
+ i && (i + 1) # index is >= 1
+ end
+
def evict
while @limit && @size > @limit
name, value = @dynamic_table.pop