Copyright © 2023 Michael Truog
Version: 2.0.6 Oct 26 2023 12:17:23 ------------------------------------------------------------------------
Authors: Michael Truog (mjtruog at protonmail dot com).
logical_processor() = non_neg_integer()
scheduler_id() = pos_integer()
state() = #concurrency{schedulers = pos_integer(), scheduler_bindings = tuple() | undefined, scheduler_id_lookup = #{logical_processor() := scheduler_id()} | undefined, scheduler_id_bind = scheduler_id()}
bind_assign_process/3 |
Assign bind internal service process data.. |
bind_assign_process/4 |
Assign bind external service process data.. |
bind_format/1 |
Convert internal state to the bind configuration format.. |
bind_increment_thread/1 |
Increment the bind thread_index.. |
bind_init/1 |
Bind the CloudI service dispatcher process.The other CloudI service Erlang processes automatically get the same bind when spawn occurs from the dispatcher process. |
bind_logical_processor/1 |
Logical processor for binding external service threads.. |
bind_validate/4 |
Convert the bind configuration format to internal state.. |
count/2 |
Convert count_process/count_thread to the integer process_count/thread_count values.. |
new/0 |
Create concurrency information.. |
bind_assign_process(Bind::#bind{string_exact = nonempty_string() | undefined, thread_count = pos_integer() | undefined, thread_index = non_neg_integer(), scheduler_ids_exact = tuple() | undefined, logical_processors_exact = tuple() | undefined, scheduler_ids = tuple() | undefined, logical_processors = tuple() | undefined} | false, ProcessIndex::non_neg_integer(), Concurrency::#concurrency{schedulers = pos_integer(), scheduler_bindings = tuple() | undefined, scheduler_id_lookup = #{logical_processor() := scheduler_id()} | undefined, scheduler_id_bind = scheduler_id()}) -> {#bind{string_exact = nonempty_string() | undefined, thread_count = pos_integer() | undefined, thread_index = non_neg_integer(), scheduler_ids_exact = tuple() | undefined, logical_processors_exact = tuple() | undefined, scheduler_ids = tuple() | undefined, logical_processors = tuple() | undefined} | false, #concurrency{schedulers = pos_integer(), scheduler_bindings = tuple() | undefined, scheduler_id_lookup = #{logical_processor() := scheduler_id()} | undefined, scheduler_id_bind = scheduler_id()}}
bind_assign_process(Bind::#bind{string_exact = nonempty_string() | undefined, thread_count = pos_integer() | undefined, thread_index = non_neg_integer(), scheduler_ids_exact = tuple() | undefined, logical_processors_exact = tuple() | undefined, scheduler_ids = tuple() | undefined, logical_processors = tuple() | undefined} | false, ProcessIndex::non_neg_integer(), ThreadCount::pos_integer(), Concurrency::#concurrency{schedulers = pos_integer(), scheduler_bindings = tuple() | undefined, scheduler_id_lookup = #{logical_processor() := scheduler_id()} | undefined, scheduler_id_bind = scheduler_id()}) -> {#bind{string_exact = nonempty_string() | undefined, thread_count = pos_integer() | undefined, thread_index = non_neg_integer(), scheduler_ids_exact = tuple() | undefined, logical_processors_exact = tuple() | undefined, scheduler_ids = tuple() | undefined, logical_processors = tuple() | undefined} | false, #concurrency{schedulers = pos_integer(), scheduler_bindings = tuple() | undefined, scheduler_id_lookup = #{logical_processor() := scheduler_id()} | undefined, scheduler_id_bind = scheduler_id()}}
bind_format(Bind::#bind{string_exact = nonempty_string() | undefined, thread_count = pos_integer() | undefined, thread_index = non_neg_integer(), scheduler_ids_exact = tuple() | undefined, logical_processors_exact = tuple() | undefined, scheduler_ids = tuple() | undefined, logical_processors = tuple() | undefined} | false) -> boolean() | nonempty_string()
bind_increment_thread(Bind::#bind{string_exact = nonempty_string() | undefined, thread_count = pos_integer() | undefined, thread_index = non_neg_integer(), scheduler_ids_exact = tuple() | undefined, logical_processors_exact = tuple() | undefined, scheduler_ids = tuple() | undefined, logical_processors = tuple() | undefined} | false) -> #bind{string_exact = nonempty_string() | undefined, thread_count = pos_integer() | undefined, thread_index = non_neg_integer(), scheduler_ids_exact = tuple() | undefined, logical_processors_exact = tuple() | undefined, scheduler_ids = tuple() | undefined, logical_processors = tuple() | undefined} | false
bind_init(Bind::#bind{string_exact = nonempty_string() | undefined, thread_count = pos_integer() | undefined, thread_index = non_neg_integer(), scheduler_ids_exact = tuple() | undefined, logical_processors_exact = tuple() | undefined, scheduler_ids = tuple() | undefined, logical_processors = tuple() | undefined} | false) -> ok
bind_logical_processor(Bind::#bind{string_exact = nonempty_string() | undefined, thread_count = pos_integer() | undefined, thread_index = non_neg_integer(), scheduler_ids_exact = tuple() | undefined, logical_processors_exact = tuple() | undefined, scheduler_ids = tuple() | undefined, logical_processors = tuple() | undefined} | false) -> non_neg_integer() | -1
bind_validate(Bind::boolean(), CountProcess::pos_integer() | float(), CountThread::pos_integer() | float(), Concurrency::#concurrency{schedulers = pos_integer(), scheduler_bindings = tuple() | undefined, scheduler_id_lookup = #{logical_processor() := scheduler_id()} | undefined, scheduler_id_bind = scheduler_id()} | undefined) -> {ok, #bind{string_exact = nonempty_string() | undefined, thread_count = pos_integer() | undefined, thread_index = non_neg_integer(), scheduler_ids_exact = tuple() | undefined, logical_processors_exact = tuple() | undefined, scheduler_ids = tuple() | undefined, logical_processors = tuple() | undefined} | false} | {error, {service_options_bind_invalid, any()}}
count(I::pos_integer() | float(), Concurrency::#concurrency{schedulers = pos_integer(), scheduler_bindings = tuple() | undefined, scheduler_id_lookup = #{logical_processor() := scheduler_id()} | undefined, scheduler_id_bind = scheduler_id()}) -> pos_integer()
new() -> #concurrency{schedulers = pos_integer(), scheduler_bindings = tuple() | undefined, scheduler_id_lookup = #{logical_processor() := scheduler_id()} | undefined, scheduler_id_bind = scheduler_id()}
Generated by EDoc