{"push_id":1108389740,"size":104,"distinct_size":104,"ref":"refs/heads/master","head":"ce2b74f7332b62d4c34141b888bde09595b8f10d","before":"715876f5e6d40bc75ad8f3e6c4c70249aea0fc66","commits":[{"sha":"472a080ccf2f725e2f5277fa5feb76aaf9ce2e67","author":{"email":"dfdb7392591db597bc41cf266a9c3bc12a2706e5@erlang.org","name":"Anders Svensson"},"message":"Add diameter_tcp option throttle_cb\n\nTo let a callback module decide whether or to receive another message\nfrom the peer, so that backpressure can be applied when it's\ninappropriate. This is to let a callback protect against reading more\nthan can be processed, which is otherwise possible since diameter_tcp\notherwise always asks for more.\n\nA callback is made after each message, and can answer to continue\nreading or to ask again after a timeout. It's each message instead of\neach packet partly for simplicity, but also since this should be\nsufficiently fine-grained. Per packet would require some interaction\nwith the fragment timer that flushes partial messages that haven't been\ncompletely received.","distinct":true,"url":"https://api.github.com/repos/erlang/otp/commits/472a080ccf2f725e2f5277fa5feb76aaf9ce2e67"},{"sha":"e7b286c95531595daa26b09edffbf2f081c5455a","author":{"email":"dfdb7392591db597bc41cf266a9c3bc12a2706e5@erlang.org","name":"Anders Svensson"},"message":"Make throttling callbacks on message reception\n\nThe callback is now applied to the atom 'false' when asking if another\nmessage should be received on the socket, and to a received binary\nmessage after reception. Throttling on received messages makes it\npossible to distinguish between requests and answers.\n\nThere is no callback on outgoing messages since these don't have to go\nthrough the transport process, even if they currently do.","distinct":true,"url":"https://api.github.com/repos/erlang/otp/commits/e7b286c95531595daa26b09edffbf2f081c5455a"},{"sha":"2ffb288d8daeb72c27c5cead30ce779682bdd8b0","author":{"email":"dfdb7392591db597bc41cf266a9c3bc12a2706e5@erlang.org","name":"Anders Svensson"},"message":"Let throttling callback return a notification pid\n\nIn addition to returning ok or {timeout, Tmo}, let a throttling callback\nfor message reception return a pid(), which is then notified if the\nmessage in question is either discarded or results in a request process.\nNotification is by way of messages of the form\n\n  {diameter, discard | {request, pid()}}\n\nwhere the pid is that of a request process resulting from the received\nmessage. This allows the notification process to keep track of the\nmaximum number of request processes a peer connection can have given\nrise to.","distinct":true,"url":"https://api.github.com/repos/erlang/otp/commits/2ffb288d8daeb72c27c5cead30ce779682bdd8b0"},{"sha":"993d540a3ad0f2fc932fdfb0aabba06cb03f320c","author":{"email":"dfdb7392591db597bc41cf266a9c3bc12a2706e5@erlang.org","name":"Anders Svensson"},"message":"Let a throttling callback discard a received message\n\nThis can be used as a simple form of overload protection, discarding the\nmessage before it's passed into diameter to become one more request\nprocess in a flood. Replying with 3004 would be more appropriate when\nthe request has been directed at a specific server (the RFC's\nrequirement) however, and possibly it should be possible for a callback\nto do this as well.","distinct":true,"url":"https://api.github.com/repos/erlang/otp/commits/993d540a3ad0f2fc932fdfb0aabba06cb03f320c"},{"sha":"9298872b8771dff87e732237e36fddc81bfbcbde","author":{"email":"dfdb7392591db597bc41cf266a9c3bc12a2706e5@erlang.org","name":"Anders Svensson"},"message":"Let a throttling callback answer a received message\n\nAs discussed in the parent commit. This is easier said than done in\npractice, but there's no harm in allowing it.","distinct":true,"url":"https://api.github.com/repos/erlang/otp/commits/9298872b8771dff87e732237e36fddc81bfbcbde"},{"sha":"eae5e8163f3b0784848ff0310ba3c8adca0bcb87","author":{"email":"dfdb7392591db597bc41cf266a9c3bc12a2706e5@erlang.org","name":"Anders Svensson"},"message":"Don't ask throttling callback to receive more unless needed\n\nTCP packets can contain more than one message, so only ask to receive\nanother message if it hasn't already been received.","distinct":true,"url":"https://api.github.com/repos/erlang/otp/commits/eae5e8163f3b0784848ff0310ba3c8adca0bcb87"},{"sha":"8f9173b675015a1efc34466dace11bfd35a063bd","author":{"email":"dfdb7392591db597bc41cf266a9c3bc12a2706e5@erlang.org","name":"Anders Svensson"},"message":"Throttle properly with TLS\n\nIn particular, let a callback decide when to receive the initial\nmessage.","distinct":true,"url":"https://api.github.com/repos/erlang/otp/commits/8f9173b675015a1efc34466dace11bfd35a063bd"},{"sha":"c322099e7e7efeb01577e4c8efd52579beb90949","author":{"email":"dfdb7392591db597bc41cf266a9c3bc12a2706e5@erlang.org","name":"Anders Svensson"},"message":"Acknowledge answers to notification pids when throttling\n\nBy sending {diameter, {answer, pid()}} when an incoming answer is sent\nto the specified pid, instead of a discard message as previously. The\nlatter now literally means that the message has been discarded.","distinct":true,"url":"https://api.github.com/repos/erlang/otp/commits/c322099e7e7efeb01577e4c8efd52579beb90949"},{"sha":"14eb86d85c5f191d78013aaa45b7e1aabf04a937","author":{"email":"dfdb7392591db597bc41cf266a9c3bc12a2706e5@erlang.org","name":"Anders Svensson"},"message":"Let throttling callback send a throttle message\n\nThat is, don't assume that it's only diameter_tcp doing so: allow it to\nbe received when not throttling. This lets a callback module trigger a\nnew throttling callback itself, but it's not clear if this will be\nuseful in practice.","distinct":true,"url":"https://api.github.com/repos/erlang/otp/commits/14eb86d85c5f191d78013aaa45b7e1aabf04a937"},{"sha":"a54a9111269371d8e2577b0824dd0351c4a75115","author":{"email":"dfdb7392591db597bc41cf266a9c3bc12a2706e5@erlang.org","name":"Anders Svensson"},"message":"Don't assume list comprehension evaluation order","distinct":true,"url":"https://api.github.com/repos/erlang/otp/commits/a54a9111269371d8e2577b0824dd0351c4a75115"},{"sha":"4319cd608063e3612c74b534180b19ab29173667","author":{"email":"acdcb0ca81d0b180c106372f50738316a25c1b7d@erlang.org","name":"Sverker Eriksson"},"message":"erts: Produce statistics for literal and hipe super carriers\n\ncalled 'literal_mmap' and 'exec_mmap'.\n\nAlso moved existing erts_mmap info from 'mseg_alloc'\nto its own system_info({allocator, erts_mmap})\n\nwith \"allocators\" default_mmap, literal_mmap and exec_mmap.","distinct":true,"url":"https://api.github.com/repos/erlang/otp/commits/4319cd608063e3612c74b534180b19ab29173667"},{"sha":"98b8650d22e94a5ff839170833f691294f6276d0","author":{"email":"c29b6795916aafe08a1ae08d95147a056ab6815d@mirantis.com","name":"Alexey Lebedeff"},"message":"Fix program paths used in build process\n\nNot every OS has '/bin/rm' or '/bin/pwd' at exactly that location.\n\nIn some places in configure scripts result of AC_PATH_PROG was already\ncorrectly used, this patch makes this usage more consistent.\n\nAs for `/bin/pwd` in `otp_build`, shell built-in one is already used in\nmingw parts - so it should cause no harm to use it everywhere.\nDifference is only in symlinks resolution - non-builtin `pwd` always\nreturns absolute path, and builtin-one could take into account what\nsequence of user actions lead to current value of $PWD.","distinct":true,"url":"https://api.github.com/repos/erlang/otp/commits/98b8650d22e94a5ff839170833f691294f6276d0"},{"sha":"c2c47441ddc436a6d36aa1264ed6f198a9e0c3e0","author":{"email":"acdcb0ca81d0b180c106372f50738316a25c1b7d@erlang.org","name":"Sverker Eriksson"},"message":"erts: Move option info for erts_mmap\n\nfrom {allocator,mseg_alloc} to {allocator,erts_mmap}","distinct":true,"url":"https://api.github.com/repos/erlang/otp/commits/c2c47441ddc436a6d36aa1264ed6f198a9e0c3e0"},{"sha":"0a5d8f3ae45bd8a10498ef35c1e704983afbbf25","author":{"email":"acdcb0ca81d0b180c106372f50738316a25c1b7d@erlang.org","name":"Sverker Eriksson"},"message":"erts: Add literal_mmap and exec_mmap to system_info\n\nerlang:system_info(allocator) ->\n  {Allocator, Version, Features, Settings}\n\nFeatures includes 'literal_mmap' and/or 'exec_mmap'\nif they exist.","distinct":true,"url":"https://api.github.com/repos/erlang/otp/commits/0a5d8f3ae45bd8a10498ef35c1e704983afbbf25"},{"sha":"48d24da6586a80ab67fe5c242d17ea4d044c917c","author":{"email":"acdcb0ca81d0b180c106372f50738316a25c1b7d@erlang.org","name":"Sverker Eriksson"},"message":"erts: Add erts_mmap to system_info(allocator)\n\n\nto the Settings list\n\n{Allocator, Version, Features, Settings}","distinct":true,"url":"https://api.github.com/repos/erlang/otp/commits/48d24da6586a80ab67fe5c242d17ea4d044c917c"},{"sha":"9f5fd83ffda711d80000bfe1cb7f99c40d9fffde","author":{"email":"acdcb0ca81d0b180c106372f50738316a25c1b7d@erlang.org","name":"Sverker Eriksson"},"message":"erts: Fix system_info({allocator_sizes, mseg_alloc})\n\nwill now return\n\n[{instance,0,[{segments_size,9961472,9961472,11010048}]},\n {instance,1,[{segments_size,6291456,6291456,6815744}]},\n {instance,2,[{segments_size,524288,524288,786432}]},\n {instance,3,[{segments_size,1048576,1048576,1835008}]},\n {instance,4,[{segments_size,0,0,262144}]}]\n\nand not just empty lists.","distinct":true,"url":"https://api.github.com/repos/erlang/otp/commits/9f5fd83ffda711d80000bfe1cb7f99c40d9fffde"},{"sha":"e75fdd38b04896fa6a1ac7b2fdea18ef485c70b3","author":{"email":"acdcb0ca81d0b180c106372f50738316a25c1b7d@erlang.org","name":"Sverker Eriksson"},"message":"erts: Clarify docs for trace_pattern/3","distinct":true,"url":"https://api.github.com/repos/erlang/otp/commits/e75fdd38b04896fa6a1ac7b2fdea18ef485c70b3"},{"sha":"9169589569cda14c1c142cc396ab612697972dea","author":{"email":"dfdb7392591db597bc41cf266a9c3bc12a2706e5@erlang.org","name":"Anders Svensson"},"message":"Remove dead case clause\n\nOrphaned in commit 9298872b.","distinct":true,"url":"https://api.github.com/repos/erlang/otp/commits/9169589569cda14c1c142cc396ab612697972dea"},{"sha":"067c234829144dd1c33b9640cd6a0e5faf3d04b3","author":{"email":"acdcb0ca81d0b180c106372f50738316a25c1b7d@erlang.org","name":"Sverker Eriksson"},"message":"erts: Refactor erl_mmap.h\n\nby (only) moving around stuff in the file.\n\nin order to make it easier to ifdef away\nall erts_mmap_* if not supported.","distinct":true,"url":"https://api.github.com/repos/erlang/otp/commits/067c234829144dd1c33b9640cd6a0e5faf3d04b3"},{"sha":"dd5087bf582bba0879fa352bdc0ddcbf06d943d2","author":{"email":"acdcb0ca81d0b180c106372f50738316a25c1b7d@erlang.org","name":"Sverker Eriksson"},"message":"erts: Add macro HAVE_ERTS_MMAP\n\nand make erts_mmap unavailable at compile time\nif not supported.","distinct":true,"url":"https://api.github.com/repos/erlang/otp/commits/dd5087bf582bba0879fa352bdc0ddcbf06d943d2"}]}