[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[tor-commits] [stem/master] Note that excluding 'unsued' from cell equality is intentional



commit 397c3ce19e904369508a05501dbb6e6ff69dd944
Author: Damian Johnson <atagar@xxxxxxxxxxxxxx>
Date:   Sat Jul 7 12:00:09 2018 -0700

    Note that excluding 'unsued' from cell equality is intentional
    
    Great question from Dave that could do with some clarification...
    
      18:51 < dmr> atagar: (1) I noticed that __hash__() doesn't
        include `unused` in its calculations. Should it?
    
      18:54 <+atagar> (1) is a very good question and I was wondering
        if you were gonna ask it at some point. That boils down to
        'if two tor cells have the same content *but* have differing
        filler bytes are they equal?'. A pure python approach says
        'no, the objects aren't equal' but behavior wise our users
        probably expect that 'yes, they are'. So I purposefully left
        it out but it's a very good question. Maybe I should add a
        comment there since otherwise it does indeed look like an
        oversight.
---
 stem/client/cell.py | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/stem/client/cell.py b/stem/client/cell.py
index 337e8a2d..83019621 100644
--- a/stem/client/cell.py
+++ b/stem/client/cell.py
@@ -77,6 +77,9 @@ class Cell(object):
   """
   Metadata for ORPort cells.
 
+  Unused padding are **not** used in equality checks or hashing. If two cells
+  differ only in their *unused* attribute they are functionally equal.
+
   :var bytes unused: unused filler that padded the cell to the expected size
   """
 

_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits