{"push_id":1225600318,"size":85,"distinct_size":85,"ref":"refs/heads/master","head":"0cc6ea398f7296d6cb31282b838dccf613b2040d","before":"f5a9f91c4906989ed1fb6b478c2488de7fa3b32a","commits":[{"sha":"e88735c87c71aaffd33d559af6aa1a1247dd253d","author":{"name":"Marcus Holland-Moritz","email":"9f1d0e017327b2cc34f623ab2694b8c0323ce824@fb.com"},"message":"Handle conversion from float in toDynamic()\n\nSummary:\nThis adds the necessary ConversionHelper to enable float-to-double\nconversion when using `toDynamic` on any type that contains `float`.\n\nFixes the added test case, which previously failed to compile.\n\nReviewed By: yfeldblum\n\nDifferential Revision: D3525942\n\nfbshipit-source-id: d904dde5585316ea9a15e21430e91ac4e33116b9","distinct":true,"url":"https://api.github.com/repos/amin-jabri/folly/commits/e88735c87c71aaffd33d559af6aa1a1247dd253d"},{"sha":"804743d804519c53215f77cd402b8f0cbc869c40","author":{"name":"Adam Simpkins","email":"edcf11ba16d0c184526f274cfa425b28caee076f@fb.com"},"message":"update LockTraitsBoost to handle arbitrary duration types\n\nSummary:\nUpdate the boost LockTraits classes to accept arbitrary std::chrono::duration\ntypes, rather than just std::chrono::milliseconds.\n\nReviewed By: yfeldblum\n\nDifferential Revision: D3533556\n\nfbshipit-source-id: e764cdf4dafa0b11cd7558c2d5bfb6f80dce88cf","distinct":true,"url":"https://api.github.com/repos/amin-jabri/folly/commits/804743d804519c53215f77cd402b8f0cbc869c40"},{"sha":"2f9865aa90e91cb20a3ebf7545bd7036e2cd8102","author":{"name":"Shayan Mohanty","email":"4bf1805bf333b7f089b8cb89f43ac14467b87a6a@fb.com"},"message":"Folly::FutureDAG <-> Gossit\n\nSummary:\nImplements remove(), state_clean(), and reset() functions in order to allow for static FutureDAGS that can be modified in place and executed multiple times.\n\nremove() removes the given handle from the nodes vector and cleans up all dependencies associated with it. Because of the way Handles are implemented, all Handles greater than the one removed are decremented (and therefore must be accounted for in the client-code). Current best-practice would be to remove nodes by most-recently added.\n\nstate_clean() removes the sink/source nodes added by go().\n\nreset() removes all nodes but the top-level source node and resets dependency properties.\n\nReviewed By: tjkswaine\n\nDifferential Revision: D3486947\n\nfbshipit-source-id: c8b9db6a139ee5b36aae6e9366c9b338cc49ede1","distinct":true,"url":"https://api.github.com/repos/amin-jabri/folly/commits/2f9865aa90e91cb20a3ebf7545bd7036e2cd8102"},{"sha":"c8f4d603e448cdd2749f2850ef70952932962fa1","author":{"name":"Yedidya Feldblum","email":"6292954432d1e8f0395f3b77ef169850e7b47c24@fb.com"},"message":"Move IPAddress definitions to source files\n\nSummary:\n[Folly] Move `IPAddress` definitions to source files.\n\nAnd to internal header files. Keeping headers lightweight can help with build times.\n\nReviewed By: simpkins\n\nDifferential Revision: D3514455\n\nfbshipit-source-id: de78f4ef9e70e7ddd7fb666348ed705c5228531c","distinct":true,"url":"https://api.github.com/repos/amin-jabri/folly/commits/c8f4d603e448cdd2749f2850ef70952932962fa1"},{"sha":"594f18f7ba21543612b02b97c3abdff7dd40aa3a","author":{"name":"Yedidya Feldblum","email":"6292954432d1e8f0395f3b77ef169850e7b47c24@fb.com"},"message":"Inline the lower_bound and upper_bound callbacks in sorted_vector_map\n\nSummary:\n[Folly] Inline the `lower_bound` and `upper_bound` callbacks in `sorted_vector_map`.\n\nAvoids unnecessary use of legacy `boost::bind`, and allows the compiler to avoid the indirection it introduces. This way, we use templates instead of vtables.\n\nReviewed By: Orvid\n\nDifferential Revision: D3545939\n\nfbshipit-source-id: 277e9e4862beb71e99b94a62308783771071d2bc","distinct":true,"url":"https://api.github.com/repos/amin-jabri/folly/commits/594f18f7ba21543612b02b97c3abdff7dd40aa3a"},{"sha":"50f4f92c284492f4bb87f3735c82e180a0e49327","author":{"name":"Adam Simpkins","email":"edcf11ba16d0c184526f274cfa425b28caee076f@fb.com"},"message":"improve Synchronized LockedPtr class, and add new lock() APIs\n\nSummary:\nThis refactors the Synchronized::LockedPtr class, and adds new\nlock()/wlock()/rlock() APIs to Synchronized.\n\nThe LockedPtr changes include:\n\n- Consolidate code so a single template class can be used for both const\n  and non-const operation, rather than requiring separate class definitions.\n  A LockPolicy template parameter controls if the lock should be acquired in\n  exclusive or shared mode, and a SynchronizedType parameter controls whether\n  or not the internal data is const or not.\n\n- Specialize LockedPtr for std::mutex, so it uses std::unique_lock<std::mutex>\n  internally.  This requires slightly more storage space internally, but it\n  allows Synchronized<T, std::mutex> to be used with std::condition_variable.\n\n- Implement operator*() to dereference the pointer and retrieve a reference to\n  the locked data.\n\n- Implement operator!() and provide an isValid() method to check the validity\n  of the LockedPtr.  These are needed to tell if a timed acquire operation\n  succeeded or timed out.\n\n- Drop the LockedPtr copy constructor.  Previously the copy constructor\n  acquired the lock a second time.  If anyone needs the ability to hold a\n  shared lock a second time solely via a LockedPtr (and not via the original\n  Synchronized object), I think we should add back a much more explicit API to\n  do this.\n\nFurthermore, this adds lock(), wlock(), and rlock() methods to Synchronized to\nexplicitly obtain a LockedPtr.  These APIs behave similar to operator->(), but\nare more explicit, and require the caller to make a concious choice about\nwhether or not an exclusive or shared lock should be acquired.  The lock()\nmethod is present only on Synchronized instantiations using an exclusive mutex,\nand the wlock() and rlock() methods are present only on Synchronized\ninstantiations that use a shared mutex.\n\nI plan to deprecate the existing Synchronized::operator->() method and the\nvarious SYNCHRONIZED macros in upcoming diffs.  For now this adds comments\ndirecting users to the new methods, but does not start any of the technical\ndeprecation changes yet.\n\nReviewed By: yfeldblum\n\nDifferential Revision: D3526489\n\nfbshipit-source-id: 8a96a09b68656ff9215dcdfdf32ecd2bfbb1727f","distinct":true,"url":"https://api.github.com/repos/amin-jabri/folly/commits/50f4f92c284492f4bb87f3735c82e180a0e49327"},{"sha":"b179601dfc42d8e3230d6477d7db8f3d5a8f64dc","author":{"name":"Adam Simpkins","email":"edcf11ba16d0c184526f274cfa425b28caee076f@fb.com"},"message":"add Synchronized::withLock() methods\n\nSummary:\nAdd withLock() and related methods for invoking a lambda function while the\nlock is held.  This is sometimes more convenient than opening a new scope and\nusing lock().\n\nwithLock() also retains some of the benefits of the SYNCHRONIZED macro in that\nit forces users to put their critical section code in a new scope, making the\ncritical section more visibly distinct in the code.  This also encourages users\nto only put necessary work inside the critical section, and do to other work\nonce the lock is released.\n\nThis also adds a LockedGuardPtr class, which is a slightly cheaper version of\nLockedPtr.  The relationship between LockedGuardPtr and LockedPtr is very much\nlike that between std::lock_guard and std::unique_lock.  It saves a branch in\nthe destructor, and in the case of std::mutex it also saves a small amount of\nstorage space (since LockedPtr is specialized for std::mutex to also store a\nstd::unique_lock).\n\nReviewed By: yfeldblum, djwatson\n\nDifferential Revision: D3530368\n\nfbshipit-source-id: 72a4f457b3f18e8e8f4cc6713218f6882bb89818","distinct":true,"url":"https://api.github.com/repos/amin-jabri/folly/commits/b179601dfc42d8e3230d6477d7db8f3d5a8f64dc"},{"sha":"a4657e890b21119f661e5418c51e23449bbe2001","author":{"name":"Christopher Dykes","email":"9f4831d19ed2a22cef5f174bcdf71bff5a712cec@fb.com"},"message":"Improve folly/portability/Time.cpp OS X and Windows compatibility\n\nSummary:\nFolly currently contains wrappers to emulate\n`clock_gettime()` on platforms which don't support it.\n\nThe OS X and Windows wrappers are missing a bit of functionality we\nneed. In this diff, I:\n\n1. Bring the OS X and Windows wrappers closer to Linux's functionality\n2. Add unit tests\n\nReviewed By: bmaurer, mzlee\n\nDifferential Revision: D3418054\n\nfbshipit-source-id: 47eba871e844b4c3dccd7ab201ec82e1f6edf729","distinct":true,"url":"https://api.github.com/repos/amin-jabri/folly/commits/a4657e890b21119f661e5418c51e23449bbe2001"},{"sha":"106a2a56bbf2dea08947919539944f582d283a20","author":{"name":"Kevin Lewi","email":"5510b9694f94b320d05e8e1e4397440ad0003d67@fb.com"},"message":"Adding the ability to check for whether TCP fast open succeeded on a socket\n\nSummary: Modifies AsyncSocket to check if TFO succeeded. Also added checks to AsyncSocketTest2 to check if TFO succeeded when it should.\n\nReviewed By: siyengar\n\nDifferential Revision: D3540330\n\nfbshipit-source-id: 8a4b64fdb040dea73ba264b8e3dfff4d717fd96f","distinct":true,"url":"https://api.github.com/repos/amin-jabri/folly/commits/106a2a56bbf2dea08947919539944f582d283a20"},{"sha":"82142aa36bdaf2560958014fbe766dd9db60ab69","author":{"name":"Christopher Dykes","email":"9f4831d19ed2a22cef5f174bcdf71bff5a712cec@fb.com"},"message":"Define TCPI_OPT_SYN_DATA if it isn't defined\n\nSummary: Because it doesn't in a lot of our open-source builds.\n\nDifferential Revision: D3551445\n\nfbshipit-source-id: 599f45f51d1cbecedd02cb2ca3ef611648986039","distinct":true,"url":"https://api.github.com/repos/amin-jabri/folly/commits/82142aa36bdaf2560958014fbe766dd9db60ab69"},{"sha":"6215a88d9b95143e9067b8068ee3d335873633f1","author":{"name":"Yedidya Feldblum","email":"6292954432d1e8f0395f3b77ef169850e7b47c24@fb.com"},"message":"Fix Build: sorted_vector_types.h on GCC v4.8\n\nSummary:\n[Folly] Fix Build: `sorted_vector_types.h` on GCC v4.8.\n\nProblem: that compiler does not yet support `auto`-typed lambda parameters.\n\nSolution: specify the types of the lambda parameters.\n\nReviewed By: mzlee, Orvid\n\nDifferential Revision: D3551262\n\nfbshipit-source-id: 160d3245ec422060175ce59ee653d158954477ed","distinct":true,"url":"https://api.github.com/repos/amin-jabri/folly/commits/6215a88d9b95143e9067b8068ee3d335873633f1"},{"sha":"f51158b61b5f4e6f75a3c721e90a4078bde1c29f","author":{"name":"Kyle Nekritz","email":"ff3786e525e1789e64a89ce4d06d7b0c3c6b17b7@fb.com"},"message":"Move DecoratedAsyncTransportWrapper and WriteChainAsyncTransportWrapper to folly.\n\nReviewed By: siyengar\n\nDifferential Revision: D3550430\n\nfbshipit-source-id: 1489fe502f41e65ce4ce45f26de59db30c9874b8","distinct":true,"url":"https://api.github.com/repos/amin-jabri/folly/commits/f51158b61b5f4e6f75a3c721e90a4078bde1c29f"},{"sha":"a5f4fbe06a9962f5f230960fb418cb2d5ecb88b2","author":{"name":"Sven Over","email":"03790fb1974ad5950fb3dcdbf7735c367ccbe702@fb.com"},"message":"ManualExecutor: add clear method\n\nSummary:\nManualExecutor::clear removes all waiting functions from the\nexecutor.\n\nReviewed By: yfeldblum\n\nDifferential Revision: D3555434\n\nfbshipit-source-id: 604c352f2299b0dada062e5f8287be98e2a5f72c","distinct":true,"url":"https://api.github.com/repos/amin-jabri/folly/commits/a5f4fbe06a9962f5f230960fb418cb2d5ecb88b2"},{"sha":"048c596476a712233b4e63e276b4fc41a85bf04f","author":{"name":"Christopher Dykes","email":"9f4831d19ed2a22cef5f174bcdf71bff5a712cec@fb.com"},"message":"Switch away from things that are removed in C++17\n\nSummary:\nThat currently includes `std::binary_function`, `std::unary_function`, and `std::random_shuffle`.\n`std::{unary|binary}_function<T{, T2}, Ret>` changes to `std::function<Ret(T{, T2})>`.\n`std::random_shuffle` has no immediate equivalent, but `std::shuffle` while passing a specific RNG achieves the same effect.\n\nReviewed By: yfeldblum\n\nDifferential Revision: D3506405\n\nfbshipit-source-id: cdefc698a841eca762174eddd8ce636e2d8d26ef","distinct":true,"url":"https://api.github.com/repos/amin-jabri/folly/commits/048c596476a712233b4e63e276b4fc41a85bf04f"},{"sha":"9be1d48f835b80fef5a4a2e66763d9cbec679277","author":{"name":"zhangkehong2brad","email":"edcd39382809b1ba732a5720263a8495a73cea92@huawei.com"},"message":"Enable GroupVarint on Arm64\n\nSummary: Closes https://github.com/facebook/folly/pull/430\n\nReviewed By: yfeldblum\n\nDifferential Revision: D3558454\n\nPulled By: Orvid\n\nfbshipit-source-id: 8a69b4db31b73806b770fbcf15663411140a04f0","distinct":true,"url":"https://api.github.com/repos/amin-jabri/folly/commits/9be1d48f835b80fef5a4a2e66763d9cbec679277"},{"sha":"78890b3f9ceac28d74c3382767f9c7bdf16b4542","author":{"name":"Tavian Barnes","email":"057a8eaa2b69fecee4d1d79792294fa021173434@tavianator.com"},"message":"fbstring: Fix std::hash specializations for non-char types\n\nSummary: Closes https://github.com/facebook/folly/pull/407\n\nReviewed By: ot\n\nDifferential Revision: D3428571\n\nPulled By: Orvid\n\nfbshipit-source-id: 0b82afae2df24803250e8d6005e2e59bbc8348c9","distinct":true,"url":"https://api.github.com/repos/amin-jabri/folly/commits/78890b3f9ceac28d74c3382767f9c7bdf16b4542"},{"sha":"8ba9a001f1e7289b7f6ab3165d34bbe6a738514a","author":{"name":"Vikas Kumar","email":"21572b51f56eae288b0610154676c19f17ab44bd@gmail.com"},"message":"s/PortabilityTimeTest.cpp/TimeTest.cpp\n\nSummary:\nThe test file in `../portability/test` is named `TimeTest.cpp`. Makefile refers to it as `PortabilityTimeTest.cpp`. Possibly a typo. Or the test file should be renamed to `PortabilityTimeTest.cpp`.\nCloses https://github.com/facebook/folly/pull/438\n\nReviewed By: yfeldblum\n\nDifferential Revision: D3558452\n\nPulled By: Orvid\n\nfbshipit-source-id: 0cee874b63e98e671153c507f42a7a3b9d8084c1","distinct":true,"url":"https://api.github.com/repos/amin-jabri/folly/commits/8ba9a001f1e7289b7f6ab3165d34bbe6a738514a"},{"sha":"8195766508d4d14636b7c73083aeb1cfec8c943e","author":{"name":"Saurabh Singh","email":"469155030dec1383dd2b6708f8f2c9190b09fe25@fb.com"},"message":"Adding std::unique_ptr definition for the ASN1_TIME type.\n\nSummary:\nThe ASN1_TIME is the typically used within OpenSSL for representing\ntime. For example, it can be used to represent the NotBefore and NotAfter\nproperties of a certificate to be verified. This diff introduces a\nASN1TimeUniquePtr type to take care of the ownership of the ASN1_TIME.\n\nReviewed By: yfeldblum\n\nDifferential Revision: D3561274\n\nfbshipit-source-id: ca4d1431b33098cccd727253dd301e209d2561a5","distinct":true,"url":"https://api.github.com/repos/amin-jabri/folly/commits/8195766508d4d14636b7c73083aeb1cfec8c943e"},{"sha":"ebcf92c2b35ceac48aa01fd32a752ec1d80cf304","author":{"name":"Michael Lee","email":"368cb0e36d33ec70b463d07ce7b4ce52ad72699d@fb.com"},"message":"Add a check for wchar support\n\nSummary:\nNot all libc's are the same. Some support wchar_t and some\ndon't do a great job...\n\nReviewed By: Orvid\n\nDifferential Revision: D3565016\n\nfbshipit-source-id: 91da4f1332e30bdb20a93d0a26a0445d5eadd1b7","distinct":true,"url":"https://api.github.com/repos/amin-jabri/folly/commits/ebcf92c2b35ceac48aa01fd32a752ec1d80cf304"},{"sha":"2e52104328bbbba3bc27b1ed607bfd62d636b9f3","author":{"name":"Christopher Dykes","email":"9f4831d19ed2a22cef5f174bcdf71bff5a712cec@fb.com"},"message":"Fix the base gen test with GTest 1.7\n\nSummary: Becuase it has bugs that cause the compiler to error :(\n\nReviewed By: ericniebler\n\nDifferential Revision: D3571263\n\nfbshipit-source-id: 9a17fc2c3c7344c3532df33cd4b84517c97d8efc","distinct":true,"url":"https://api.github.com/repos/amin-jabri/folly/commits/2e52104328bbbba3bc27b1ed607bfd62d636b9f3"}]}
{"actor":{"display_login":"amin-jabri"}}