{"push_id":621016432,"size":7,"distinct_size":6,"ref":"refs/heads/refactor_outputmessage_pool","head":"6807c1731aae1265f3d5133351e628e5cab31f95","before":"8ea93c5ea7df1a5e07e1eaae261c6309267efbf5","commits":[{"sha":"06c4157c8b77a33b3716b4ed522cb923a282c36f","author":{"email":"da2eb6183c9fa7ea83988ee64046b05ce0ddaae1@gmail.com","name":"Mark Samman"},"message":"Add missing byte to sendReLoginWindow","distinct":false,"url":"https://api.github.com/repos/djarek/forgottenserver/commits/06c4157c8b77a33b3716b4ed522cb923a282c36f"},{"sha":"3c3b34fe9bcc1b233f51af568c3e66a16b204b18","author":{"email":"214fa9642999dd4c08507946021bf13588c2d590@gmail.com","name":"Damian Jarek"},"message":"Refactor OutputMessagePool. Remove ref counter from Connection (it's really unnecessary since, we're already doing the same with the shared_ptr created by inheriting from enable_shared_from_this.","distinct":true,"url":"https://api.github.com/repos/djarek/forgottenserver/commits/3c3b34fe9bcc1b233f51af568c3e66a16b204b18"},{"sha":"b274b88af29c6113ae54b9409ee7b222322d536f","author":{"email":"214fa9642999dd4c08507946021bf13588c2d590@gmail.com","name":"Damian Jarek"},"message":"Changed protocol ref counter to an atomic variable to avoid race conditions on it (it could be potentially accessed by threads other than the dispatcher thread.","distinct":true,"url":"https://api.github.com/repos/djarek/forgottenserver/commits/b274b88af29c6113ae54b9409ee7b222322d536f"},{"sha":"9d5a26875790922d5f8c9a6d650d9848eeef90e4","author":{"email":"214fa9642999dd4c08507946021bf13588c2d590@gmail.com","name":"Damian Jarek"},"message":"Get rid of unnecessary shared_ptr copying by using references. Moved message collection to a separate thread managed by a private class - MessageCollector. Remove getAvailableMessageCount() and getAutoMessageCount() as these were not thread-safe.","distinct":true,"url":"https://api.github.com/repos/djarek/forgottenserver/commits/9d5a26875790922d5f8c9a6d650d9848eeef90e4"},{"sha":"96e381999bf1615aac425c4209c87ebe031c2c02","author":{"email":"214fa9642999dd4c08507946021bf13588c2d590@gmail.com","name":"Damian Jarek"},"message":"Reduced critical section complexity to O(1) in OutputMessagePool methods. Protocol objects are now managed by shared_ptrs. Message collection thread now uses a condition variable.","distinct":true,"url":"https://api.github.com/repos/djarek/forgottenserver/commits/96e381999bf1615aac425c4209c87ebe031c2c02"},{"sha":"74b5c0a8dfe8bb105dba3847d33c215fa5ecd812","author":{"email":"214fa9642999dd4c08507946021bf13588c2d590@gmail.com","name":"Damian Jarek"},"message":"Fix compilation error.","distinct":true,"url":"https://api.github.com/repos/djarek/forgottenserver/commits/74b5c0a8dfe8bb105dba3847d33c215fa5ecd812"},{"sha":"6807c1731aae1265f3d5133351e628e5cab31f95","author":{"email":"214fa9642999dd4c08507946021bf13588c2d590@gmail.com","name":"Damian Jarek"},"message":"Rename member variables.","distinct":true,"url":"https://api.github.com/repos/djarek/forgottenserver/commits/6807c1731aae1265f3d5133351e628e5cab31f95"}]}