summaryrefslogtreecommitdiff
path: root/auto_tests/toxav_many_test.c
AgeCommit message (Collapse)Author
2016-08-17Make self_connection_status callback stateless.iphydf
**What are we doing?** We are moving towards stateless callbacks. This means that when registering a callback, you no longer pass a user data pointer. Instead, you pass a user data pointer to tox_iterate. This pointer is threaded through the code, passed to each callback. The callback can modify the data pointed at. An extra indirection will be needed if the pointer itself can change. **Why?** Currently, callbacks are registered with a user data pointer. This means the library has N pointers for N different callbacks. These pointers need to be managed by the client code. Managing the lifetime of the pointee can be difficult. In C++, it takes special effort to ensure that the lifetime of user data extends at least beyond the lifetime of the Tox instance. For other languages, the situation is much worse. Java and other garbage collected languages may move objects in memory, so the pointers are not stable. Tox4j goes through a lot of effort to make the Java/Scala user experience a pleasant one by keeping a global array of Tox+userdata on the C++ side, and communicating via protobufs. A Haskell FFI would have to do similarly complex tricks. Stateless callbacks ensure that a user data pointer only needs to live during a single function call. This means that the user code (or language runtime) can move the data around at will, as long as it sets the new location in the callback. **How?** We are doing this change one callback at a time. After each callback, we ensure that everything still works as expected. This means the toxcore change will require 15 Pull Requests.
2015-11-03Astyle.irungentoo
2015-10-11Test should not assert when hangup failsEniz Vukovic
2015-10-10New Adaptive BR algorithm, cleanups and fixesEniz Vukovic
2015-06-13Fixed sample size in callback and other stuffmannol
2015-06-05Rebased on master and removed alpha channel (again)mannol
2015-05-22Move savedata to options struct.irungentoo
Add a way to select the type of savedata (normal savedata, load a secret key, potentially others?) to load.
2015-05-22Updated with mastermannol
2015-05-01Fixed* api comments and some bugsmannol
2015-04-30Added many test and fixed various warningsmannol
2015-04-29Donemannol
2015-03-18Move get_connection_status to self pseudonamespace, to contrast ↵Dubslow
friend_get_connection_status
2015-03-12Convert core code depending on the apiDubslow
2015-02-25Ported some tests to the new api.irungentoo
2014-11-29More av cleanupmannol
2014-11-27Attempted fix of threading issue in test.irungentoo
2014-11-24Merge branch 'master' of https://github.com/mannol/toxcoreirungentoo
2014-11-18av refactormannol
2014-09-21Fixed test.irungentoo
2014-08-02Merge branch 'mannol1-master'irungentoo
2014-08-02Added userdata pointer to audio/video callbacksmannol
2014-07-31fix testnotsecure
2014-07-26Merge branch 'mannol1-master'irungentoo
2014-07-27Fixed tests and conflictsmannol
2014-07-26Make codec settings dynamicmannol
2014-07-22Merge branch 'master' of https://github.com/mannol1/toxcoreirungentoo
2014-07-21Fixed conflictsmannol
2014-07-21Improved protocol and cleaned code a bitmannol
2014-07-07locks in testnotsecure
2014-07-07make autotests compilenotsecure
2014-06-10Astyle and fixes.irungentoo
2014-05-25Fixed issue.irungentoo
2014-05-25Replaced randombytes_salsa20_random_buf() with randombytes() in av tests.irungentoo
2014-05-25Merge branch 'mannol1-Multicalls' into multi-avirungentoo
2014-05-24Tests works and some fixesmannol
2014-05-16This works.mannol
2014-05-10This should workmannol
2014-05-03Bunch of random changesmannol