userver: samples/tcp_full_duplex_service/static_config.yaml
⚠️ This is the documentation for an old userver version. Click here to switch to the latest version.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
samples/tcp_full_duplex_service/static_config.yaml
components_manager:
    task_processors:                  # Task processor is an executor for coroutine tasks
 
        main-task-processor:          # Make a task processor for CPU-bound couroutine tasks.
            worker_threads: 4         # Process tasks in 4 threads.
 
        fs-task-processor:            # Make a separate task processor for filesystem bound tasks.
            worker_threads: 4
 
        monitor-task-processor:       # Make a separate task processor for administrative tasks.
            worker_threads: 2
            thread_name: mon-worker
 
    default_task_processor: main-task-processor  # Task processor in which components start.
 
    components:                       # Configuring components that were registered via component_list
        logging:
            fs-task-processor: fs-task-processor
            loggers:
                default:
                    file_path: '@stderr'
                    level: debug
                    overflow_behavior: discard  # Drop logs if the system is too busy to write them down.
 
        # /// [TCP component]
        # yaml
        tcp-echo:
            task_processor: main-task-processor         # Run socket accepts on CPU bound task processor
            sockets_task_processor: main-task-processor # Run ProcessSocket() for each new socket on CPU bound task processor
            port: 8181
        # /// [TCP component]
 
        # /// [HTTP and stats]
        # yaml
        server:
            listener:
                port: 8182            # ...to listen on this port and...
                task_processor: monitor-task-processor    # ...process incoming requests on this task processor.                
        handler-server-monitor:
            path: /service/monitor
            method: GET
            task_processor: monitor-task-processor
            monitor-handler: false
        # /// [HTTP and stats]
 
        # Testuite stuff
        testsuite-support:
        tests-control:
            path: /tests/{action}
            method: POST
            task_processor: main-task-processor
        http-client:
            fs-task-processor: fs-task-processor
        dns-client:                     # Asynchronous DNS component
            fs-task-processor: fs-task-processor