aboutsummaryrefslogtreecommitdiffstats
path: root/src/ssl/tls_reader.h
diff options
context:
space:
mode:
authorlloyd <[email protected]>2010-03-30 16:52:10 +0000
committerlloyd <[email protected]>2010-03-30 16:52:10 +0000
commite79a7cad4770905a8ae8142a5d658f7fc02ae76e (patch)
treebfb1c541fd81beb790ff77bfb4dabbf4ad7a69a1 /src/ssl/tls_reader.h
parent0ab987031a950575cad8364ab2029b730b479f53 (diff)
Constify assert_at_least. Add some helpers
Diffstat (limited to 'src/ssl/tls_reader.h')
-rw-r--r--src/ssl/tls_reader.h18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/ssl/tls_reader.h b/src/ssl/tls_reader.h
index d2f21a90f..ff3e63ae8 100644
--- a/src/ssl/tls_reader.h
+++ b/src/ssl/tls_reader.h
@@ -19,6 +19,22 @@ class TLS_Data_Reader
TLS_Data_Reader(const MemoryRegion<byte>& buf_in) :
buf(buf_in), offset(0) {}
+ u32bit remaining_bytes() const
+ {
+ return buf.size() - offset;
+ }
+
+ bool has_remaining() const
+ {
+ return (remaining_bytes() > 0);
+ }
+
+ void discard_next(u32bit bytes)
+ {
+ assert_at_least(bytes);
+ offset += bytes;
+ }
+
u16bit get_u16bit()
{
assert_at_least(2);
@@ -109,7 +125,7 @@ class TLS_Data_Reader
return num_elems;
}
- void assert_at_least(u32bit n)
+ void assert_at_least(u32bit n) const
{
if(buf.size() - offset < n)
throw Decoding_Error("TLS_Data_Reader: Corrupt packet");