Skip to content
Snippets Groups Projects
  1. Jan 26, 2017
  2. Dec 24, 2016
    • Ramin Yaghoubzadeh's avatar
      All languages: Using uint64 for RemoteServer call return values · 681dd1bf
      Ramin Yaghoubzadeh authored
      Recent addition of IntegerConverter in rsb0.14 seems flaky (it
      seems Python will always send 64bit, and no conversion can be made),
      -> now using 64bit types for transport everywhere revision numbers
      are exchanged as an RPC result, i.e. all RemoteIU modifications
      and ResendRequests (Also disabled our own legacy IntConverters).
      
      Note: the ipaaca.proto Protobuf definition has not been changed,
      for compatibility reasons. Java version contains explicit (int)
      casts when protobuf objects are built. (TODO Discuss proto->64bit)
      
      Tests between all three languages work (Netboot, rsb0.14,
      protobuf2.6.1, spread4.4), tested with WOz+Cere+Billie.
      681dd1bf
  3. Dec 07, 2016
    • Ramin Yaghoubzadeh Torky's avatar
      cpp: Fixed successive batch updates on same top level key [ATTENTION] · 219bc821
      Ramin Yaghoubzadeh Torky authored
      Read access in locked payloads is performed on queued operations
      before searching the old database. Threads other than the locking
      thread consistently read the old information.
      
      On POSIX, default Lock now also uses boost::thread (instead of pthread)
      pthread linkage is still present for legacy wrapping.
      
      ATTENTION: unlocked payload writing is (by design) not thread-safe
      (won't crash but data might be inconsistent). Please use Locker armors
      around all code that might modify a payload in more than one thread.
      ---> #1: Always use Locker in IU handlers that write to existing IUs!!
      219bc821
  4. Dec 06, 2016
    • Ramin Yaghoubzadeh Torky's avatar
      cpp ATTENTION: Changed semantics for Payload entry casts to bool · cf9cdd88
      Ramin Yaghoubzadeh Torky authored
      For string values, ONLY the empty string "" maps to false
      (previously, "false", "False", and "0" also mapped to false)
      For list and map values, zero-element ones now map to false
      (previously, any list or map would map to true).
      
      The new semantics are identical to Python behavior for your convenience,
      since they were not generically prescribed by the STL anyway.
      cf9cdd88
  5. Dec 04, 2016
  6. Dec 02, 2016
  7. Sep 29, 2016
  8. Aug 04, 2016
  9. Jan 07, 2016
  10. Dec 10, 2015
  11. Dec 04, 2015
  12. Dec 03, 2015
  13. Nov 16, 2015
  14. Jun 17, 2015
  15. Apr 08, 2015
    • Ramin Yaghoubzadeh Torky's avatar
      C++: batch updates · 75e61345
      Ramin Yaghoubzadeh Torky authored
      Use with Locker, possible in a dedicated stack frame, like this:
      // ... code ...
      { // open stack frame
      	Locker locker(iu->payload());
      	iu->payload()["a"] = "string";
      	iu->payload()["b"] = "simultaneouslySentString";
      } // close stack frame, sending the update
      75e61345
  16. Mar 28, 2015
  17. Mar 27, 2015
  18. Mar 03, 2015
  19. Feb 27, 2015
    • Ramin Yaghoubzadeh Torky's avatar
      C++: iteration over deep proxies · f4393e75
      Ramin Yaghoubzadeh Torky authored
      Address mode must be selected explicitly using as_map/as_list, like so:
        for (auto value: iu->payload()["listItem"].as_list()) { .... }
        for (auto kv_pair: iu->payload()["mapItem"].as_map()) { .... }
      Generic size() function (reports 0 for non-structured types)
      f4393e75
  20. Feb 26, 2015
  21. Feb 25, 2015
  22. Feb 24, 2015
  23. Feb 23, 2015
  24. Feb 21, 2015
  25. Feb 20, 2015
Loading