Allow MessageFilters to restrict listening to specific message classes

ChannelProxy currently offers messages to all member MessageFilters.  It turns
out that a good portion of the most common message types will never be filtered,
making the O(N) filter walk an unnecessary affair.  To prevent this, allow
MessageFilters to indicate which (if any) subset of message classes they may
filter, allowing the ChannelProxy to refine the list of filters that are offered
a particular message.  This saves ~35us per message received on the browser IO
thread for a typical Android device.

BUG=340881
TBR=asargent@chromium.org

Review URL: https://codereview.chromium.org/142923005

git-svn-id: http://src.chromium.org/svn/trunk/src/build@251622 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This commit is contained in:
jdduke@chromium.org 2014-02-16 22:11:26 +00:00
Родитель f26a3e493c
Коммит 65096f9ce7
1 изменённых файлов: 3 добавлений и 0 удалений

Просмотреть файл

@ -9,6 +9,9 @@ IPCFuzzingTest.SanityTest
IPCFuzzingTest.MsgBadPayloadArgs
IPCFuzzingTest.MsgBadPayloadShort
IPCSendFdsTest.DescriptorTest
IPCChannelProxyTest.MessageClassFilters
IPCChannelProxyTest.GlobalAndMessageClassFilters
IPCChannelProxyTest.FilterRemoval
IPCChannelTest.ChannelTest
IPCChannelTest.ChannelProxyTest
IPCChannelTest.SendMessageInChannelConnected