# Copyright (c) 2023, AgiBot Inc.
# All rights reserved.

aimrt:
  plugin:
    plugins:
      - name: record_playback_plugin
        path: ./aimrt_record_playback_plugin.dll
        options:
          type_support_pkgs:
            - path: ./example_event_ts_pkg.dll
          record_actions:
            - name: my_imd_record
              options:
                bag_path: ./bag
                max_bag_size_m: 2048
                max_bag_num: 10
                mode: imd # imd/signal
                executor: record_thread # require thread safe!
                topic_meta_list:
                  - topic_name: test_topic
                    msg_type: pb:aimrt.protocols.example.ExampleEventMsg
                    serialization_type: pb # optional
  log:
    core_lvl: INFO # Trace/Debug/Info/Warn/Error/Fatal/Off
    backends:
      - type: console
  executor:
    executors:
      - name: work_thread_pool
        type: asio_thread
        options:
          thread_num: 4
      - name: record_thread
        type: simple_thread
  channel:
    backends:
      - type: local
        options:
          subscriber_use_inline_executor: false
          subscriber_executor: work_thread_pool
    pub_topics_options:
      - topic_name: "(.*)"
        enable_backends: [local]
    sub_topics_options:
      - topic_name: "(.*)"
        enable_backends: [local]
  module:
    pkgs:
      - path: ./pb_chn_pub_pkg.dll
        enable_modules: [NormalPublisherModule]
      - path: ./pb_chn_sub_pkg.dll
        enable_modules: [NormalSubscriberModule]
    modules:
      - name: NormalPublisherModule
        log_lvl: INFO
      - name: NormalSubscriberModule
        log_lvl: INFO

# Module custom configuration
NormalPublisherModule:
  topic_name: test_topic
  channel_frq: 0.5

NormalSubscriberModule:
  topic_name: test_topic
