AsmEventBus is an implementation of event system with asm. It is faster and more powerful {citation needed} than the EventBus of Google Guava.
ASM is a java library, which provides real-time bytecode modifying and generating. Its name is referred to inline assembler, although I consider it Aya Shameimaru's Miniskirt...
AsmEventBus was powered by ASM. Now it can run without ASM, since it can generate bytecode by itself. However, it keeps the old name to have respect for one of the greatest project in Java.
Well... We know that Guava EventBus uses "reflect" to invoke event listeners, right? And we also know reflect is slow (JIT optimizing? Do you wanna leave your destiny to laputan machines?). AsmEventBus will dynamically generate invoker class, to invoke event listeners by method calling, which is faster than reflect.
_」Lユニ=-=ニユZ」_
__≫''´ニニニニニニニニ``' 、
__ア゙ニニニニニニニニ=-‐ … ‐- ヽ
アニニニニニ=‐''^^ _,,. ‐=='ニ二ニ==‐- .,,_
/ニニア^マ"´ ,..。s≦ニニニニニニニニ=-‐ ''^^三 ノ
ニニア゙ } .。s≦ニニニニニ=‐ `'≪,三三三ニ=‐
____ j{ニ7 ..<ニニニニニ=‐ `寸ニ=‐
( `{⌒*'”ニニニニ=‐ `' 、 マ
\ -=ニニニ=‐ { \ ∨
/ニニ=‐ / .:} :{ }i ヽ }
/ニ=‐ ./ ノ :{ }ト、 ノ
/ニニア / / 乂ー '^ 人 从 ヽ :i /
/ニニア゙ / ′ ≧=-斗午㍉、 ァ示㍉ 人 (
/ニニニア゙ .′ {i:{ ノ爪 ) イ,ノハ }⌒{`' 、}
(=ニニア゙ i{ {i:{乂 ッ '゙´ ゞ ノ } i
¨¨ / ,:゙ { i{ 从 乂 , ー=彡 } |
'゙{ .′/ i{ i{ ^沁、 ¨´ノ 从 ノ 人
{ 乂 ′ 从 .i{ }今=-く ♉ ' .仏ィ^/
乂 ,沁、 乂 } i{≧ァ- -=セ升 {(
`¨i{ ⌒令=- `` ,ノ 从/ (人 :{i
从. 从 ー=彡 仏^\ }、 }^\ :{i
会=- -=彡令s。 人ー‐匕_rzzミ、丶 ノ^ヽ} ` ASM♂EVENT♂BUS
{_{⌒ニ=- ` _,ノア゙⌒`'寸、)、 A library PM will loving delete.
}_} j 7^ ー '^' 、 Again and again.
{_{ }_} ヽ
}_} {_{ 。 ,,jI斗-- ミ
乂h、 .}_} i. }iア゙ `寸
心、h、 ノリ{ | 7 __,ァ'Ⅶ ∮
,&゚⌒,心、彡'゙^{ | { , ア^ }i φ
,? 沁 { :| 叭 从 ∂
ψ `沁 } i{ 沁、 ∮ ,.仆 ,?
# 小 } i{ i{令 &,==七I゛ ,g'゚
∮ }ノ r'゙jI斗-- ミ .从 ノ^' 、 ‰。 ,.c?゚⌒
? { ≫''゛ ` 沁, \ ⌒゚''∞''゚⌒_
゚& ≫''゛ -‐=‐-ミ 沁, i} ´ `Y
jI斗 ===‐- ミ ?。 ア゙ '゙⌒^ ``' 、 ⌒i} ノ、,ノ i
__ア´ ``'<_ア゙ 〈 // ノ
. ア゙ ′ V // i{
You can download the binary library from its CI.
https://ci.hakugyokurou.net/job/AsmEventBus/ws/AEB/build/libs/
Sorry but I haven't configure complete... I'm too busy in these days...
,.,.- -‐─- 、.,_
,. '´ `' 、
., ' , ヽ、
/ . '´ / l ハ 、 ハ`フ
,' ,' ,' /__'、 |/_|_ ハ 'r'
l / , .|/__」/_、 | _」/! } }
| ∠.イ| 「 l)l::}` \|´l:l!}|/ 八
', 八 'ひ-' `"oイ ̄`
', / l 、._,ゞ" "}リ ASM♂EVENT♂BUS
} | ト 、 ´ ,.イ! A QC's doomday.
ノ 八 ', } ーrァ升| | They'll work overtime every day.
ト-‐''´ ,:' ,ハ ∨\ _ハ ヽ! |
`>'´ //´ヽレ'、|`}_アrr'7ハ |
/ , ' ' ∨ ○ ∨!八
,: ' / { 、 △ } | ',
{ ; ∧ ヽ × | | ,.
、 、 ; ', \.八 '、! }
\ \ , く \ /`7ヽYヽ ;
) ノ, / `ア`' 、/ /__八,ハ}、/
(r'´ (, ' ./ ` ´ ヽ  ̄ ヽ
` { ; ', ハ
,-{ ` 、.,_、 , }
/ ,r>、.,__ 、>-‐- 、.ノ ノ rノ、
{_く_r、_,,.. -、_,.. -、_>イ__.>-く__r'
/ / / _,,.. -――‐‐- ..,,_ \ `ミー-彳
/ / / ∠ -―――――― - ミ \ <´
/ / .:' ィ´ `Y⌒`'ー-ミ ヽ ASM♂EVENT♂BUS
___/ / / : :/ / \ { }ー-ミ.:i :小 Smaller than smaller
\ / : / : :/ / :/ : ヽ 八 / : :ト、l i
ー-イ : / / : /. :,′: ! : | \__ .イ . : :| :!廴_
| : ,′ | : :| | : | : | :| : '; } / :イ八 `丶、
| : |: | : | : /| :/| : | l | │:| : :| |: /: /:| : :.\ \
| : |: | /ト、/__| / :| , : : | :j ,'| j:│: :| . |: : /: :| :ノ: > i
八: :|: | | : |j≧=-|丁 「 : /| :、|:/ | _/ ∧ イ: : : : : : : // :/ |
/ . : : |/| | : |{{¨マ{六卞ミ : :|│:厶ニ|:/|/二V| :j . :ハ: / // / !
<:_ : イ|: | 小八` 弋..::ソ \ : | ∨"行六 卞癶| :/ . : / }// :八 |
} | : :|: \' `ー‐ \{ 弋..::::ン '|/ . : / /7: /イ: : :\|
|从 : | 八\ , ` ー‐ / : : :/イ/: :{ : : \: :.`'ー.}
、__ノ ∧ Ⅵ: :丶 ` 厶イ: :∧.八: : :`丶、: :、_彡'′リ
\ー: :人:八: : :|\ -、 /′ / ̄} ̄ ̄ ̄入\リ /
 ̄ 〉ハ : | /丶、 イ /: :/\_ 〉∧_ \ /
__/ ヽ∧ ∨ / > _....、-‐ ´ ∨/ \>、/ ∧ ア ̄ ̄\
/ / /\{ │ / :/ \ / / / V 〉 \
「 / /' | ,′ {-ミ / 八 /
| 人 |' l/ \ Y⌒ - 、 / /r┘