Guest User

Untitled

a guest
Nov 18th, 2017
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.65 KB | None | 0 0
  1. import os
  2. import sys
  3.  
  4. import client
  5. import test_utils
  6. import wan
  7.  
  8. from simple_tests import simple_send_test
  9.  
  10. def cache_is_not_flow_specific(middlebox_module, testing_part_1):
  11. """ Checks that a given block appears in the cache at most once.
  12.  
  13. First, client 1 sends a file to client 2 and client 3.
  14.  
  15. Then both client 2 and client 3 send the file back to client 1.
  16.  
  17. If your cache is flow-specific, you will end up with duplicate blocks.
  18. """
  19. middlebox1 = middlebox_module.WanOptimizer()
  20. middlebox2 = middlebox_module.WanOptimizer()
  21. wide_area_network = wan.Wan(middlebox1, middlebox2)
  22.  
  23. # Iniitialize client connected to middlebox 1.
  24. client1_address = "1.2.3.4"
  25. client1 = client.EndHost("client1", client1_address, middlebox1)
  26.  
  27. # Initialize client A, connected to middlebox 2.
  28. client2_address = "5.5.5.5"
  29. client2 = client.EndHost("client2", client2_address, middlebox2)
  30.  
  31. # Initialize client B, connected to middlebox 2.
  32. client3_address = "6.6.6.6"
  33. client3 = client.EndHost("client3", client3_address, middlebox2)
  34.  
  35. filename = "8000B.txt"
  36. client1.send_file(filename, client2_address)
  37. client1.send_file(filename, client3_address)
  38.  
  39. if len(set(middlebox1.cache.values())) > len(middlebox1.cache.values()):
  40. raise Exception("SRC middlebox has duplicate cache entries: %s" %
  41. middlebox1.cache)
  42.  
  43. client2.send_file(filename, client1_address)
  44. client3.send_file(filename, client1_address)
  45.  
  46. if len(set(middlebox2.cache.values())) > len(middlebox2.cache.values()):
  47. raise Exception("DST middlebox has duplicate cache entries: %s" %
  48. middlebox2.cache)
Add Comment
Please, Sign In to add comment