DisconnectAsync
Applicable Products
|
Product |
Supported (√/x) |
|---|---|
|
|
√ |
|
|
√ |
|
|
√ |
|
|
x |
|
|
x |
|
|
x |
Note: For
Function Description
Disconnects a link asynchronously with the remote HIXL instance.
Prototype
1
|
Status DisconnectAsync(const AscendString &remote_engine, int32_t timeout_in_millis = 1000) |
Parameters
|
Parameter |
Input/Output |
Description |
|---|---|---|
|
remote_engine |
Input |
Unique identifier of the remote HIXL instance. |
|
timeout_in_millis |
Input |
Link disconnection timeout interval, in milliseconds. The default value is 1000. |
Example
Click GitCode, select the matching version, and obtain the sample from the examples/cpp directory.
Returns
- SUCCESS: Success.
- RESOURCE_EXHAUSTED: The task queue is full.
- Other values: Failure.
Constraints
- Before calling this API, call the Initialize API to complete initialization.
- This API and Initialize must run in the same thread. If you need to switch threads to call this API, first call aclrtGetCurrentContext in the thread where Initialize is running to obtain the context. Then, in the new thread, call aclrtSetCurrentContext to set the context.
- The number of threads in the thread pool and the length of the task queue are configured through the Initialize API of HIXL. The following is an example:
"GlobalResourceConfig": "{"connect_pool.thread_num":"2","connect_pool.task_queue_capacity":"256"}" - The ConnectAsync and DisconnectAsync APIs cannot be used together with the Connect and Disconnect APIs.
- Tasks delivered by users are executed in sequence. If multiple tasks are delivered to the same remote_engine, the remote_engine executes these tasks in sequence and obtains the status of the latest delivered task.