emqx_exhook.hrl 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. %%--------------------------------------------------------------------
  2. %% Copyright (c) 2020-2024 EMQ Technologies Co., Ltd. All Rights Reserved.
  3. %%
  4. %% Licensed under the Apache License, Version 2.0 (the "License");
  5. %% you may not use this file except in compliance with the License.
  6. %% You may obtain a copy of the License at
  7. %%
  8. %% http://www.apache.org/licenses/LICENSE-2.0
  9. %%
  10. %% Unless required by applicable law or agreed to in writing, software
  11. %% distributed under the License is distributed on an "AS IS" BASIS,
  12. %% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. %% See the License for the specific language governing permissions and
  14. %% limitations under the License.
  15. %%--------------------------------------------------------------------
  16. -ifndef(EMQX_EXHOOK_HRL).
  17. -define(EMQX_EXHOOK_HRL, true).
  18. -define(APP, emqx_exhook).
  19. -define(HOOKS_REF_COUNTER, emqx_exhook_ref_counter).
  20. -define(HOOKS_METRICS, emqx_exhook_metrics).
  21. -define(ENABLED_HOOKS, [
  22. {'client.connect', {emqx_exhook_handler, on_client_connect, []}},
  23. {'client.connack', {emqx_exhook_handler, on_client_connack, []}},
  24. {'client.connected', {emqx_exhook_handler, on_client_connected, []}},
  25. {'client.disconnected', {emqx_exhook_handler, on_client_disconnected, []}},
  26. {'client.authenticate', {emqx_exhook_handler, on_client_authenticate, []}},
  27. {'client.authorize', {emqx_exhook_handler, on_client_authorize, []}},
  28. {'client.subscribe', {emqx_exhook_handler, on_client_subscribe, []}},
  29. {'client.unsubscribe', {emqx_exhook_handler, on_client_unsubscribe, []}},
  30. {'session.created', {emqx_exhook_handler, on_session_created, []}},
  31. {'session.subscribed', {emqx_exhook_handler, on_session_subscribed, []}},
  32. {'session.unsubscribed', {emqx_exhook_handler, on_session_unsubscribed, []}},
  33. {'session.resumed', {emqx_exhook_handler, on_session_resumed, []}},
  34. {'session.discarded', {emqx_exhook_handler, on_session_discarded, []}},
  35. {'session.takenover', {emqx_exhook_handler, on_session_takenover, []}},
  36. {'session.terminated', {emqx_exhook_handler, on_session_terminated, []}},
  37. {'message.publish', {emqx_exhook_handler, on_message_publish, []}},
  38. {'message.delivered', {emqx_exhook_handler, on_message_delivered, []}},
  39. {'message.acked', {emqx_exhook_handler, on_message_acked, []}},
  40. {'message.dropped', {emqx_exhook_handler, on_message_dropped, []}}
  41. ]).
  42. -define(SERVER_FORCE_SHUTDOWN_TIMEOUT, 5000).
  43. -endif.
  44. -define(CMD_MOVE_FRONT, front).
  45. -define(CMD_MOVE_REAR, rear).
  46. -define(CMD_MOVE_BEFORE(Before), {before, Before}).
  47. -define(CMD_MOVE_AFTER(After), {'after', After}).