1. 06 Jan, 2016 2 commits
  2. 31 Dec, 2015 2 commits
  3. 29 Dec, 2015 1 commit
  4. 28 Dec, 2015 1 commit
  5. 07 Jul, 2015 2 commits
  6. 06 Jul, 2015 3 commits
  7. 05 Jul, 2015 4 commits
  8. 16 May, 2015 3 commits
    • Behnam Momeni authored
    • As all methods of the simulator are non-blocking, merging them in the
      main thread shouldn't cause problem for different concurrently connected
      users.
      This needs caution about locks which were in place to synchronize
      different Simulator threads with each other but now are accessed from a
      single (main) thread.
      Behnam Momeni authored
    • Methods who cannot acquire locks, either allow other slots to be called
      via manual event processing or will return to be invoked later instead
      of blocking for the lock.
      
      This should work efficiently because:
        1. Only two threads (simulator and map) compete for locks,
        2. Situations that both threads seek locks are rare; e.g. when
        Simulator wants to send a new frame while map's thread sends a new
        frame for it.
      
      Also some consistency checks are added. This is essential to prevent
      Simulator malfunction when Simulator threads get merged into the main
      thread as malformed packets must not be able to make any slot to block
      for data.
      Behnam Momeni authored
  9. 13 May, 2015 2 commits
  10. 10 May, 2015 4 commits
  11. 09 May, 2015 2 commits
  12. 10 Apr, 2015 1 commit
  13. 08 Apr, 2015 1 commit
  14. 24 Dec, 2014 1 commit
    • Releasing the map, while some Simulator instances were being
      disconnected, leads to race condition. The former tries to disconnect
      the socket and the latter tries to delete the socket.
      Behnam Momeni authored
  15. 30 Nov, 2014 1 commit
  16. 25 Nov, 2014 2 commits
  17. 11 Apr, 2014 3 commits
  18. 09 Apr, 2014 1 commit
  19. 06 Apr, 2014 4 commits