iSulad/0032-add-CRI-container-design-doc.patch

851 lines
1.5 MiB
Diff
Raw Normal View History

From 5f75bec5b213eb85eda117ac912ddf4f94ff3277 Mon Sep 17 00:00:00 2001
From: zhangxiaoyu <zhangxiaoyu58@huawei.com>
Date: Mon, 20 Mar 2023 11:59:21 +0800
Subject: [PATCH 32/46] add CRI container design doc
Signed-off-by: zhangxiaoyu <zhangxiaoyu58@huawei.com>
---
docs/cri_container_manager_design.md | 634 ++++++++++++++++++
.../CRI/Attach_Flow_Chart.excalidraw.svg | 5 +
.../ContainerStatus_Flow_Chart.excalidraw.svg | 5 +
.../CreateContainer_Flow_Chart.excalidraw.svg | 5 +
.../CRI/ExecSync_Flow_Chart.excalidraw.svg | 5 +
.../design/CRI/Exec_Flow_Chart.excalidraw.svg | 5 +
.../ListContainers_Flow_Chart.excalidraw.svg | 5 +
.../RemoveContainer_Flow_Chart.excalidraw.svg | 5 +
.../StartContainer_Flow_Chart.excalidraw.svg | 5 +
.../StopContainer_Flow_Chart.excalidraw.svg | 5 +
...ntainerResources_Flow_Chart.excalidraw.svg | 5 +
.../CRI/Websocket_Flow_Chart.excalidraw.svg | 5 +
...Websocket_Server_Flow_Chart.excalidraw.svg | 5 +
...Websocket_Stream_Flow_Chart.excalidraw.svg | 5 +
docs/design/CRI/Websocket_UML.excalidraw.svg | 5 +
15 files changed, 704 insertions(+)
create mode 100644 docs/cri_container_manager_design.md
create mode 100644 docs/design/CRI/Attach_Flow_Chart.excalidraw.svg
create mode 100644 docs/design/CRI/ContainerStatus_Flow_Chart.excalidraw.svg
create mode 100644 docs/design/CRI/CreateContainer_Flow_Chart.excalidraw.svg
create mode 100644 docs/design/CRI/ExecSync_Flow_Chart.excalidraw.svg
create mode 100644 docs/design/CRI/Exec_Flow_Chart.excalidraw.svg
create mode 100644 docs/design/CRI/ListContainers_Flow_Chart.excalidraw.svg
create mode 100644 docs/design/CRI/RemoveContainer_Flow_Chart.excalidraw.svg
create mode 100644 docs/design/CRI/StartContainer_Flow_Chart.excalidraw.svg
create mode 100644 docs/design/CRI/StopContainer_Flow_Chart.excalidraw.svg
create mode 100644 docs/design/CRI/UpdateContainerResources_Flow_Chart.excalidraw.svg
create mode 100644 docs/design/CRI/Websocket_Flow_Chart.excalidraw.svg
create mode 100644 docs/design/CRI/Websocket_Server_Flow_Chart.excalidraw.svg
create mode 100644 docs/design/CRI/Websocket_Stream_Flow_Chart.excalidraw.svg
create mode 100644 docs/design/CRI/Websocket_UML.excalidraw.svg
diff --git a/docs/cri_container_manager_design.md b/docs/cri_container_manager_design.md
new file mode 100644
index 00000000..5e8758b0
--- /dev/null
+++ b/docs/cri_container_manager_design.md
@@ -0,0 +1,634 @@
+| Author | 张晓雨 |
+| ------ | -----------------------------------------------------|
+| Date | 2023-03-20 |
+| Email | [zhangxiaoyu58@huawei.com](zhangxiaoyu58@huawei.com) |
+
+本文主要对 `iSulad` 的 `CRI` 实现部分进行源码级别的学习和研究,为后续想了解 `CRI` 或者 `iSulad` 的同学提供帮助。
+本文涉及`CRI`模块`Container`相关的接口。关于`Pod`相关接口的梳理请参考[cri_pod_manager_design.md](./cri_pod_manager_design.md)。
+
+*注本文以iSulad 2.0.18版本为分析对象。*
+
+本文主要是针对 `CRI` 的 `RuntimeService` 部分,涉及如下接口:
+- `CreateContainer`
+- `StartContainer`
+- `StopContainer`
+- `RemoveContainer`
+- `ListContainers`
+- `ContainerStatus`
+- `UpdateContainerResources`
+- `ExecSync`
+- `Exec`
+- `Attach`
+
+## CreateContainer
+#### interface
+```
+// CreateContainer creates a new container in specified PodSandbox
+rpc CreateContainer(CreateContainerRequest) returns (CreateContainerResponse) {}
+```
+
+#### Flow chart
+<img src="./design/CRI/CreateContainer_Flow_Chart.excalidraw.svg" alt="CreateContainer_Flow_Chart">
+
+#### Detail
+- GetRealContainerOrSandboxID
+get container from *g_containers_store* by (short) id, and filter container with label *cri.isulad.type=podSandbox*
+- GetContainerOrSandboxRuntime
+get podSandbox runtime
+- GenerateCreateContainerRequest
+set *container_create_request*, include
+ ```c
+ // name
+ std::string cname = CRINaming::MakeContainerName(podSandboxConfig, containerConfig)
+ // runtime
+ request->runtime = util_strdup_s(podSandboxRuntime.c_str())
+ // image
+ request->image = util_strdup_s(containerConfig.image().image().c_str())
+ // cgroup parent
+ hostconfig->cgroup_parent = util_strdup_s(podSandboxConfig.linux().cgroup_parent().c_str())
+ // labels
+ custom_config->labels = CRIHelpers::MakeLabels(containerConfig.labels(), error)
+ // cri.isulad.type=container
+ append_json_map_string_string(custom_config->labels, CRIHelpers::Constants::CONTAINER_TYPE_LABEL_KEY.c_str(), CRIHelpers::Constants::CONTAINER_TYPE_LABEL_CONTAINER.c_str()
+ // log path
+ append_json_map_string_string(custom_config->labels, CRIHelpers::Constants::CONTAINER_LOGPATH_LABEL_KEY.c_str(), real_logpath)
+ // annotations
+ CRIHelpers::MakeAnnotations(containerConfig.annotations(), error)
+ // mount
+ CRIHelpers::GenerateMountBindings(containerConfig.mounts(), hostconfig, error)
+ // device
+ PackCreateContainerHostConfigDevices(containerConfig, hostconfig, error)
+ // security context
+ PackCreateContainerHostConfigSecurityContext(containerConfig, hostconfig, error)
+ ...
+ ```
+
+## StartContainer
+#### interface
+```
+// StartContainer starts the container.
+rpc StartContainer(StartContainerRequest) returns (StartContainerResponse) {}
+```
+
+#### Flow chart
+<img src="./design/CRI/StartContainer_Flow_Chart.excalidraw.svg" alt="StartContainer_Flow_Chart">
+
+#### Detail
+- GetRealContainerOrSandboxID
+get container from *g_containers_store* by (short) id, and filter container with label *cri.isulad.type=container*
+- CreateContainerLogSymlink
+*inspect_container* , get *cri.container.logpath* annotation and container *log_path*, then create a symbolic from *log_path* to *cri.container.logpath*
+
+## StopContainer
+#### interface
+```
+// StopContainer stops a running container with a grace period (i.e., timeout).
+// This call is idempotent, and must not return an error if the container has
+// already been stopped.
+// The runtime must forcibly kill the container after the grace period is
+// reached.
+rpc StopContainer(StopContainerRequest) returns (StopContainerResponse) {}
+```
+
+#### Flow chart
+<img src="./design/CRI/StopContainer_Flow_Chart.excalidraw.svg" alt="StopContainer_Flow_Chart">
+
+#### Detail
+- Timeout
+*timeout* in seconds to wait for the container to stop before forcibly terminating it, default value is 0
+
+## RemoveContainer
+#### interface
+```
+// RemoveContainer removes the container. If the container is running, the
+// container must be forcibly removed.
+// This call is idempotent, and must not return an error if the container has
+// already been removed.
+rpc RemoveContainer(RemoveContainerRequest) returns (RemoveContainerResponse) {}
+```
+
+#### Flow chart
+<img src="./design/CRI/RemoveContainer_Flow_Chart.excalidraw.svg" alt="RemoveContainer_Flow_Chart">
+
+#### Detail
+- RemoveContainerLogSymlink
+*inspect_container* , get *cri.container.logpath* annotation and container *log_path*, then delete *cri.container.logpath*
+
+## ListContainers
+#### interface
+```
+// ListContainers lists all containers by filters.
+rpc ListContainers(ListContainersRequest) returns (ListContainersResponse) {}
+```
+
+#### Flow chart
+<img src="./design/CRI/ListContainers_Flow_Chart.excalidraw.svg" alt="ListContainers_Flow_Chart">
+
+#### Detail
+- ListContainersFromGRPC
+convert filter from GRPC request, and add *cri.isulad.type=container* to filter
+ ```c
+ // Add filter to get only non-sandbox containers
+ CRIHelpers::FiltersAddLabel((*request)->filters, CRIHelpers::Constants::CONTAINER_TYPE_LABEL_KEY, CRIHelpers::Constants::CONTAINER_TYPE_LABEL_CONTAINER)
+ // convert filter
+ // id
+ CRIHelpers::FiltersAdd((*request)->filters, "id", filter->id())
+ // status
+ CRIHelpers::FiltersAdd((*request)->filters, "status", CRIHelpers::ToIsuladContainerStatus(filter->state()))
+ // sandbox id
+ CRIHelpers::FiltersAddLabel((*request)->filters, CRIHelpers::Constants::SANDBOX_ID_LABEL_KEY, filter->pod_sandbox_id())
+ // label selector
+ for (auto &iter : filter->label_selector()) {
+ CRIHelpers::FiltersAddLabel((*request)->filters, iter.first, iter.second)
+ }
+ ```
+- ListContainersToGRPC
+convert containers information to GRPC response, include
+ ```c
+ for (size_t i {}; i < response->containers_len; i++) {
+ // id
+ container->set_id(response->containers[i]->id)
+ // labels
+ CRIHelpers::ExtractLabels(response->containers[i]->labels, *container->mutable_labels())
+ // annotations
+ CRIHelpers::ExtractAnnotations(response->containers[i]->annotations, *container->mutable_annotations())
+ // name
+ CRINaming::ParseContainerName(container->annotations(), container->mutable_metadata(), error)
+ // image
+ image->set_image(response->containers[i]->image)
+ std::string imageID = CRIHelpers::ToPullableImageID(response->containers[i]->image, response->containers[i]->image_ref)
+ container->set_image_ref(imageID)
+ // runtime
+ CRIHelpers::ContainerStatusToRuntime(Container_Status(response->containers[i]->status))
+ ...
+ }
+ ```
+
+## ContainerStatus
+#### interface
+```
+// ContainerStatus returns status of the container. If the container is not
+// present, returns an error.
+rpc ContainerStatus(ContainerStatusRequest) returns (ContainerStatusResponse) {}
+```
+
+#### Flow chart
+<img src="./design/CRI/ContainerStatus_Flow_Chart.excalidraw.svg" alt="ContainerStatus_Flow_Chart">
+
+#### Detail
+- ContainerStatusToGRPC
+add container information to GRPC response, include
+ ```c
+ // timestamps
+ CRIHelpers::GetContainerTimeStamps(inspect, &createdAt, &startedAt, &finishedAt, error)
+ // image
+ PackContainerImageToStatus(inspect, contStatus, error)
+ // container status
+ UpdateBaseStatusFromInspect(inspect, createdAt, startedAt, finishedAt, contStatus)
+ // labels
+ PackLabelsToStatus(inspect, contStatus)
+ // mount
+ ConvertMountsToStatus(inspect, contStatus);
+ ```
+
+## UpdateContainerResources
+#### interface
+```
+// UpdateContainerResources updates ContainerConfig of the container synchronously.
+// If runtime fails to transactionally update the requested resources, an error is returned.
+rpc UpdateContainerResources(UpdateContainerResourcesRequest) returns (UpdateContainerResourcesResponse) {}
+```
+
+#### Flow chart
+<img src="./design/CRI/UpdateContainerResources_Flow_Chart.excalidraw.svg" alt="UpdateContainerResources_Flow_Chart">
+
+#### Detail
+- Generate HostConfig
+set resources, include
+ ```c
+ // cpu
+ hostconfig->cpu_period = resources.cpu_period()
+ hostconfig->cpu_quota = resources.cpu_quota()
+ hostconfig->cpu_shares = resources.cpu_shares()
+ hostconfig->cpuset_cpus = util_strdup_s(resources.cpuset_cpus().c_str())
+ hostconfig->cpuset_mems = util_strdup_s(resources.cpuset_mems().c_str())
+ // memory
+ hostconfig->memory_swap_limit_in_bytes = resources.memory_swap_limit_in_bytes()
+ hostconfig->memory = resources.memory_limit_in_bytes()
+ // cgroupv2 unified
+ for (auto &iter : resources.unified()) {
+ append_json_map_string_string(unified, iter.first.c_str(), iter.second.c_str())
+ }
+ // huge page
+ for (int i = 0; i < resources.hugepage_limits_size(); i++) {
+ hostconfig->hugetlbs[i]->page_size = util_strdup_s(resources.hugepage_limits(i).page_size().c_str())
+ hostconfig->hugetlbs[i]->limit = resources.hugepage_limits(i).limit()
+ hostconfig->hugetlbs_len++
+ }
+ ```
+
+## ExecSync
+#### interface
+```
+// ExecSync runs a command in a container synchronously.
+rpc ExecSync(ExecSyncRequest) returns (ExecSyncResponse) {}
+```
+
+#### Flow chart
+<img src="./design/CRI/ExecSync_Flow_Chart.excalidraw.svg" alt="ExecSync_Flow_Chart">
+
+
+#### Detail
+- ExecSyncFromGRPC
+set *container_exec_request*, include
+ ```c
+ (*request)->tty = false
+ (*request)->attach_stdin = false
+ (*request)->attach_stdout = true
+ (*request)->attach_stderr = true
+ (*request)->timeout = timeout
+ (*request)->container_id = util_strdup_s(containerID.c_str())
+ // execution command
+ for (int i = 0; i < cmd.size(); i++) {
+ (*request)->argv[i] = util_strdup_s(cmd[i].c_str())
+ (*request)->argv_len++
+ }
+ // generate random suffix
+ (*request)->suffix = CRIHelpers::GenerateExecSuffix()
+ ```
+- StringWriter
+set stdoutWriter and stderrWriter, write string to reply *stdout/stderr*
+ ```c
+ StdoutstringWriter.context = (void *)reply->mutable_stdout()
+ StdoutstringWriter.write_func = WriteToString
+
+ StderrstringWriter.context = (void *)reply->mutable_stderr()
+ StderrstringWriter.write_func = WriteToString
+
+ static auto WriteToString(void *context, const void *data, size_t len) -> ssize_t
+ {
+ if (len == 0) {
+ return 0;
+ }
+
+ std::string *str = reinterpret_cast<std::string *>(context);
+
+ str->append(reinterpret_cast<const char *>(data), len);
+ return (ssize_t)len;
+ }
+ ```
+
+## Exec
+#### interface
+```
+// Exec prepares a streaming endpoint to execute a command in the container.
+rpc Exec(ExecRequest) returns (ExecResponse) {}
+```
+
+#### Flow chart
+<img src="./design/CRI/Exec_Flow_Chart.excalidraw.svg" alt="Exec_Flow_Chart">
+
+#### Detail
+- ValidateExecRequest
+1. check container is running
+2. check container is not paused
+3. check tty and stderr not both true
+4. check one of stdin, stdout, stderr must be true
+- GarbageCollection
+traverse from back of the *CacheEntry list* and remove the *expired requests*, also delete them in *token hash map*
+ ```c
+ void RequestCache::GarbageCollection()
+ {
+ auto now = std::chrono::system_clock::now();
+ while (!m_ll.empty()) {
+ auto oldest = m_ll.back();
+ if (now < oldest.expireTime) {
+ return;
+ }
+ if (oldest.req != nullptr) {
+ delete oldest.req;
+ oldest.req = nullptr;
+ }
+ m_ll.pop_back();
+ m_tokens.erase(oldest.token);
+ }
+ }
+ ```
+- UniqueToken
+`token=base64(random string))`. If token is exist in *token hash map*, retry generate token
+- Save
+save containerID, request, token in *CacheEntry list* and *token hash map*
+
+## Attach
+#### interface
+```
+// Attach prepares a streaming endpoint to attach to a running container.
+rpc Attach(AttachRequest) returns (AttachResponse) {}
+```
+
+#### Flow chart
+<img src="./design/CRI/Attach_Flow_Chart.excalidraw.svg" alt="Attach_Flow_Chart">
+
+#### Detail
+- ValidateAttachRequest
+1. check tty and stderr not both true
+2. check one of stdin, stdout, stderr must be true
+
+## Websocket
+
+#### UML diagram
+<img src="./design/CRI/Websocket_UML.excalidraw.svg" alt="Websocket_UML">
+
+### Start/Stop Websocket Server
+#### Flow chart
+<img src="./design/CRI/Websocket_Server_Flow_Chart.excalidraw.svg" alt="Websocket_Server_Flow_Chart">
+
+#### Detail
+- CreateContext
+create websocket server context
+ ```c
+ /*
+ context->lws_lookup is allocated ( sizeof(struct lws *) * max_fds ) spaces,
+ In general, max_fds should be the process maximum number of open file descriptor.
+ If WS_ULIMIT_FDS set too large, context->lws_lookup will cost too much memory.
+ If WS_ULIMIT_FDS set too small, maybe fd > max_fds and context->lws_lookup[fd] will overflow.
+ */
+ const size_t WS_ULIMIT_FDS { 10240 }
+
+ info.port = m_listenPort
+ info.iface = "127.0.0.1"
+ info.protocols = m_protocols
+ info.ssl_cert_filepath = nullptr
+ info.ssl_private_key_filepath = nullptr
+ info.gid = -1
+ info.uid = -1
+ info.options = LWS_SERVER_OPTION_VALIDATE_UTF8 | LWS_SERVER_OPTION_DISABLE_IPV6
+ info.max_http_header_pool = MAX_HTTP_HEADER_POOL
+ info.extensions = nullptr
+
+ m_context = lws_create_context(&info)
+ ```
+
+### Websocket Main Callback
+#### Flow chart
+<img src="./design/CRI/Websocket_Flow_Chart.excalidraw.svg" alt="Websocket_Flow_Chart">
+
+#### Detail
+- LWS_CALLBACK_FILTER_PROTOCOL_CONNECTION
+called when the handshake has been received and parsed from the client, but the response is not sent yet. Return non-zero to disallow the connection.
+ ```c
+ // Write Lock
+ WriteGuard<RWMutex> lock(m_mutex)
+
+ // get TOKEN URL
+ lws_hdr_copy(wsi, buf, sizeof(buf), WSI_TOKEN_GET_URI)
+
+ // Validate URL
+ // URL format: "/cri/" + method + "/" + token + "/" + arg(container=cmd)
+ auto vec = CXXUtils::Split(buf + 1, '/');
+ // method: exec and attach
+ // token is exist in token hash map
+ if vec.size() >= 3 && m_handler.IsValidMethod(vec.at(1)) && cache->IsValidToken(vec.at(2))
+
+ // socketID already exist ?
+ int socketID = lws_get_socket_fd(wsi)
+ if m_wsis.count(socketID) == 0
+
+ // too many connection sessions ?
+ if m_wsis.size() <= MAX_SESSION_NUM(128)
+
+ // generate SessionData
+ GenerateSessionData(session, containerID)
+
+ // save session
+ m_wsis.insert(std::make_pair(socketID, session))
+
+ // create StreamTask
+ std::thread streamTh([ = ]() {
+ StreamTask(&m_handler, session, vec.at(1), vec.at(2)).Run();
+ })
+ streamTh.detach()
+
+ // Trigger polling in LWS_CALLBACK_SERVER_WRITEABLE
+ lws_callback_on_writable(wsi)
+ ```
+- LWS_CALLBACK_SERVER_WRITEABLE
+If you call lws_callback_on_writable() on a connection, you will get one of these callbacks coming when the connection socket is able to accept another write packet without blocking.
+If it already was able to take another packet without blocking, you'll get this callback at the next call to the service loop function.
+ ```c
+ // Read Lock
+ ReadGuard<RWMutex> lock(m_mutex)
+
+ // get SessionData
+ int socketID = lws_get_socket_fd(wsi)
+ auto it = m_wsis.find(socketID)
+ if it != m_wsis.end()
+
+ // record session closed
+ auto sessionClosed = it->second->IsClosed()
+
+ // write message
+ while (!it->second->buffer.empty()) {
+ auto *message = it->second->FrontMessage()
+ // send success! free it and erase for list
+ WebsocketServer::GetInstance()->Wswrite(wsi, const_cast<const unsigned char *>(message))
+ free(message)
+ it->second->PopMessage()
+ }
+
+ // return non-zero if session closed
+ if (sessionClosed) {
+ DEBUG("websocket session disconnected")
+ return -1
+ }
+
+ // return zero and callback with the reason of LWS_CALLBACK_SERVER_WRITEABLE again
+ lws_callback_on_writable(wsi)
+ ```
+- LWS_CALLBACK_RECEIVE
+data has appeared for this server endpoint from a remote client, it can be found at in and is len bytes long
+ ```c
+ // Read Lock
+ ReadGuard<RWMutex> lock(m_mutex)
+
+ // get SessionData
+ auto it = m_wsis.find(socketID)
+ if it != m_wsis.end()
+
+ // Last Stdin Uncomplete
+ if (!it->second->IsStdinComplete()) {
+ util_write_nointr_in_total(m_wsis[socketID]->pipes.at(1), (char *)in, len)
+ }
+
+ // RESIZECHANNEL
+ if (*static_cast<char *>(in) == WebsocketChannel::RESIZECHANNEL) {
+ ParseTerminalSize(jsonData, len, width, height)
+ int ret = cb->container.resize(req, &res)
+ }
+
+ // STDINCHANNEL
+ if (*static_cast<char *>(in) == WebsocketChannel::STDINCHANNEL) {
+ util_write_nointr_in_total(m_wsis[socketID]->pipes.at(1), (char *)in + 1, len - 1)
+ }
+
+ // SetStdinComplete
+ size_t bytesLen = lws_remaining_packet_payload(wsi)
+ it->second->SetStdinComplete(bytesLen == 0)
+ ```
+- LWS_CALLBACK_CLOSED
+when the websocket session ends
+ ```c
+ void WebsocketServer::CloseWsSession(int socketID)
+ {
+ // write lock
+ m_mutex.wrlock();
+ auto it = m_wsis.find(socketID);
+ if (it == m_wsis.end()) {
+ m_mutex.unlock();
+ return;
+ }
+
+ auto session = it->second;
+ it->second = nullptr;
+ // delete session in map
+ m_wsis.erase(it);
+ m_mutex.unlock();
+
+ std::thread([session]() {
+ prctl(PR_SET_NAME, "WSSessionGC");
+ session->CloseSession();
+ session->EraseAllMessage();
+ // close the pipe write endpoint first, make sure io copy thread exit,
+ // otherwise epoll will trigger EOF
+ if (session->pipes.at(1) >= 0) {
+ close(session->pipes.at(1));
+ session->pipes.at(1) = -1;
+ }
+ (void)sem_wait(session->syncCloseSem);
+ (void)sem_destroy(session->syncCloseSem);
+ delete session->syncCloseSem;
+ session->syncCloseSem = nullptr;
+ close(session->pipes.at(0));
+ delete session->sessionMutex;
+ session->sessionMutex = nullptr;
+ delete session;
+ }).detach();
+ }
+ ```
+
+### Websocket Stream
+#### Flow chart
+<img src="./design/CRI/Websocket_Stream_Flow_Chart.excalidraw.svg" alt="Websocket_Stream_Flow_Chart">
+
+#### Detail
+- ConsumeRequest
+ ```c
+ // Consume the token (remove it from the cache) and return the cached request, if found.
+ ::google::protobuf::Message *RequestCache::ConsumeRequest(const std::string &token)
+ {
+ std::lock_guard<std::mutex> lock(m_mutex);
+
+ if (m_tokens.count(token) == 0) {
+ ERROR("Invalid token");
+ return nullptr;
+ }
+
+ CacheEntry ele = m_tokens[token];
+ for (auto it = m_ll.begin(); it != m_ll.end(); it++) {
+ if (it->token == token) {
+ m_ll.erase(it);
+ break;
+ }
+ }
+ m_tokens.erase(token);
+ if (std::chrono::system_clock::now() > ele.expireTime) {
+ return nullptr;
+ }
+
+ return ele.req;
+ }
+ ```
+- AttachServe::SetContainerStreamRequest
+set stdin, stdout and stderr
+ ```c
+ m_request->attach_stdin = grequest->stdin()
+ m_request->attach_stdout = grequest->stdout()
+ m_request->attach_stderr = grequest->stderr()
+ ```
+- AttachServe::ExecuteStreamCommand
+ ```c
+ // StringWriter
+ // write stdout to client if attach stdout is true
+ stdoutContext.attachWriter = m_request->attach_stdout ? WsWriteStdoutToClient : WsDoNotWriteStdoutToClient
+ // sem_post attachSem
+ stdoutstringWriter.close_func = AttachConnectClosed
+ // write stderr to client if attach stderr is true
+ stderrContext.attachWriter = m_request->attach_stderr ? WsWriteStderrToClient : WsDoNotWriteStderrToClient
+ stderrstringWriter.close_func = nullptr
+
+ // call attach
+ // nonblocking
+ int ret = cb->container.attach(m_request, &m_response, m_request->attach_stdin ? lwsCtx->pipes.at(0) : -1, &stdoutstringWriter, &stderrstringWriter)
+
+ // handle attach return value
+ if (ret != 0) {
+ // join io copy thread in attach callback
+ ERROR("Failed to attach container: %s", m_request->container_id);
+
+ std::string message;
+ if (m_response != nullptr && m_response->errmsg != nullptr) {
+ message = m_response->errmsg;
+ } else {
+ message = "Failed to call attach container callback. ";
+ }
+ WsWriteStdoutToClient(lwsCtx, message.c_str(), message.length());
+ } else {
+ // wait io copy thread complete
+ (void)sem_wait(&attachSem);
+ }
+ ```
+- ExecServe::SetContainerStreamRequest
+set tty, stdin, stdout, stderr, container_id, args and suffix
+ ```c
+ m_request->tty = grequest->tty()
+ m_request->attach_stdin = grequest->stdin()
+ m_request->attach_stdout = grequest->stdout()
+ m_request->attach_stderr = grequest->stderr()
+ m_request->container_id = util_strdup_s(grequest->container_id().c_str())
+ m_request->suffix = util_strdup_s(suffix.c_str())
+
+ // args
+ if (grequest->cmd_size() > 0) {
+ m_request->argv = (char **)util_smart_calloc_s(sizeof(char *), grequest->cmd_size());
+ for (int i = 0; i < grequest->cmd_size(); i++) {
+ m_request->argv[i] = util_strdup_s(grequest->cmd(i).c_str());
+ }
+ m_request->argv_len = static_cast<size_t>(grequest->cmd_size());
+ }
+ ```
+- ExecServe::ExecuteStreamCommand
+ ```c
+ // StringWriter
+ StdoutstringWriter.write_func = WsWriteStdoutToClient
+ StdoutstringWriter.close_func = nullptr
+ StderrstringWriter.write_func = WsWriteStderrToClient
+ StderrstringWriter.close_func = nullptr
+
+ // call exec
+ int ret = cb->container.exec(m_request, &m_response, m_request->attach_stdin ? lwsCtx->pipes.at(0) : -1, m_request->attach_stdout ? &StdoutstringWriter : nullptr, m_request->attach_stderr ? &StderrstringWriter : nullptr)
+
+ // handle exec return value
+ if (ret != 0) {
+ std::string message;
+ if (m_response != nullptr && m_response->errmsg != nullptr) {
+ message = m_response->errmsg;
+ } else {
+ message = "Failed to call exec container callback. ";
+ }
+ WsWriteStdoutToClient(lwsCtx, message.c_str(), message.length());
+ }
+ if (m_response != nullptr && m_response->exit_code != 0) {
+ std::string exit_info = "Exit code :" + std::to_string((int)m_response->exit_code) + "\n";
+ WsWriteStdoutToClient(lwsCtx, exit_info.c_str(), exit_info.length());
+ }
+ ```
diff --git a/docs/design/CRI/Attach_Flow_Chart.excalidraw.svg b/docs/design/CRI/Attach_Flow_Chart.excalidraw.svg
new file mode 100644
index 00000000..eaf33c61
--- /dev/null
+++ b/docs/design/CRI/Attach_Flow_Chart.excalidraw.svg
@@ -0,0 +1,5 @@
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1157.1753968738376 1121.222264607748" width="1157.1753968738376" height="1121.222264607748" filter="invert(93%) hue-rotate(180deg)">
+ <!-- svg-source:excalidraw -->
+
+ <defs><style> @font-face {font-family: "Virgil";src: url("data:application/font-woff;charset=utf-8;base64,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
+ <rect x="0" y="0" width="1157.1753968738376" height="1121.222264607748" fill="#ffffff"/><g stroke-linecap="round" transform="translate(146.75267174130363 22.139476957775685) rotate(0 157.5 29)"><path d="M1.12 1.35 C71.27 -0.93, 140.21 -1.4, 315.36 1.41 M0.57 0.69 C71.82 2.33, 145.23 1.22, 315.19 -0.01 M314.98 -1.18 C315.2 18.06, 314.34 37.52, 313.61 56.65 M315.61 0.04 C315.05 22.72, 314.07 43.09, 315.68 58.2 M316.11 56.85 C202.77 56.9, 91.18 56.45, -0.02 57.44 M315.6 58.02 C218.95 56.54, 124.25 56.86, -0.25 57.78 M-1.44 57.92 C0.62 39.55, 0.93 20.56, 0.16 1.69 M-0.27 57.71 C0.24 43.2, 0.39 26.01, -0.48 -0.5" stroke="#000000" stroke-width="1" fill="none"/></g><g transform="translate(151.75267174130363 38.639476957775685) rotate(0 152.5 12.5)"><text x="152.5" y="18" font-family="Virgil, Segoe UI Emoji" font-size="20.007863314646595px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr">Attach</text></g><g stroke-linecap="round" transform="translate(142.93914467947798 194.69889722551653) rotate(0 157.5 29)"><path d="M-1.02 1.29 C83.28 -3.25, 167.84 -2.43, 315.47 -0.36 M0.38 0.41 C65.95 -0.56, 132.35 -1.08, 314.44 0.15 M313.65 1.41 C313.52 21.1, 314.4 38.79, 315 59.83 M315.66 0.41 C315.83 22.26, 314.39 43.16, 314.39 58.81 M315.1 57.69 C249.27 55.38, 185.3 56.56, -1.07 59.36 M314.89 58.04 C202.68 58.89, 90.26 57.8, 0.61 58.47 M0.38 59.11 C-0.75 41.5, 1.58 25.72, -0.96 1.07 M-0.83 57.09 C1.01 44.03, 0.31 31.42, -0.28 0.75" stroke="#000000" stroke-width="1" fill="none"/></g><g transform="translate(147.93914467947798 211.19889722551653) rotate(0 152.5 12.5)"><text x="152.5" y="18" font-family="Virgil, Segoe UI Emoji" font-size="20.007863314646595px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr">GetRealContainerOrSandboxID</text></g><g transform="translate(306.0741351899644 306.3772960844498) rotate(0 146.5 12.5)"><text x="0" y="18" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="start" style="white-space: pre;" direction="ltr">label: cri.isulad.type=container</text></g><g stroke-linecap="round" transform="translate(122.32444036574566 750.9012654622402) rotate(0 179 30)"><path d="M0 0 C0 0, 0 0, 0 0 M0 0 C0 0, 0 0, 0 0 M-0.67 6.63 C0.42 5.48, 1.62 3.28, 4.68 0.06 M-0.29 6.47 C1.34 4.68, 2.31 3.48, 5.27 0.37 M1.66 13.22 C3.29 9.91, 3.76 7.67, 11.91 0.26 M-0.03 11.97 C2.32 9.22, 5.82 5.02, 10.96 -0.63 M0.26 16.98 C6.49 12.13, 9.89 5.26, 13.94 1.5 M-1.02 19.22 C6.02 12.92, 10.47 5.22, 14.99 -0.41 M-0.16 24.56 C6.24 17.44, 8.8 11.59, 21.56 -0.48 M0.23 24.85 C5.73 18.05, 9.63 13.43, 21.75 0.23 M0.77 31.77 C10.15 19.89, 19.03 8.49, 25.16 0.75 M-0.2 30.77 C6.85 22.93, 14.1 14.82, 27.05 -0.52 M-1.52 37.81 C8.46 24.13, 19.16 16.28, 31.31 0.14 M-0.53 37.78 C12.13 24.19, 23.19 9.97, 31.73 -0.03 M-0.71 44.46 C8.65 33.99, 17.53 25.45, 35.18 -0.21 M0.95 42.48 C13.81 27.38, 27.84 11.92, 36.79 -0.62 M-0.22 46.93 C9.43 37.76, 19.09 28, 43.21 -0.37 M0.29 48.22 C14.89 32.58, 29.04 14.71, 42.94 -0.97 M0.8 53.24 C13.22 40.61, 28.14 23.2, 49.19 0.06 M0.75 54.54 C11.68 40.57, 25.45 26.39, 47.68 0.63 M0.21 62.12 C19.76 38.85, 35.58 19.26, 52.93 0.51 M0.53 61.11 C17.65 40.15, 34.25 21.14, 52.86 -1.04 M5.49 59.32 C19.8 43.84, 34.55 26.31, 56.34 2.11 M6.3 60.12 C20.96 41.95, 36.6 23.58, 57.73 0.52 M9.34 62.11 C30.23 37.91, 48.05 16.81, 62.09 -1.69 M11.74 60.81 C27.78 39.6, 45.35 21.91, 64.51 0.28 M18.21 59.02 C34.23 40.55, 51.2 16.48, 69.71 1.52 M17 61.35 C29.93 43.74, 44.98 26.23, 69.46 0.31 M21.67 58.54 C39.78 39.26, 58.96 15.2, 74.24 1.67 M20.99 59.51 C40.09 40.23, 56.92 20.84, 74.43 0.49 M28.52 59.73 C42.75 43.02, 59.26 22.85, 78.32 0.94 M26.51 61.39 C46.04 39.7, 63.84 19.84, 79.93 -0.78 M33.45 58.83 C50.11 38.92, 66.97 19.88, 86.86 0.27 M31.72 60.08 C51.04 37.55, 70.68 16.92, 84.69 0.06 M37.15 59.9 C48.61 47.04, 62.63 34.55, 91.13 -1.91 M37.28 60.34 C53.29 42.38, 68.7 25.66, 90.74 0.46 M44.91 61.44 C56.2 45.59, 67.57 29.83, 95.38 0.86 M43.89 59.32 C63.15 36.81, 83.27 14.15, 94.91 0.41 M46.78 59.03 C59.35 46.8, 70.34 33.86, 101.02 1.76 M47.31 61.24 C60.69 44
\ No newline at end of file
diff --git a/docs/design/CRI/ContainerStatus_Flow_Chart.excalidraw.svg b/docs/design/CRI/ContainerStatus_Flow_Chart.excalidraw.svg
new file mode 100644
index 00000000..c8daa2de
--- /dev/null
+++ b/docs/design/CRI/ContainerStatus_Flow_Chart.excalidraw.svg
@@ -0,0 +1,5 @@
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496.74969482421875 1096.4999019077843" width="496.74969482421875" height="1096.4999019077843" filter="invert(93%) hue-rotate(180deg)">
+ <!-- svg-source:excalidraw -->
+
+ <defs><style> @font-face {font-family: "Virgil";src: url("data:application/font-woff;charset=utf-8;base64,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
+ <rect x="0" y="0" width="496.74969482421875" height="1096.4999019077843" fill="#ffffff"/><g stroke-linecap="round" transform="translate(34.42823137555797 10) rotate(0 157.5 29)"><path d="M1.12 1.35 C71.27 -0.93, 140.21 -1.4, 315.36 1.41 M0.57 0.69 C71.82 2.33, 145.23 1.22, 315.19 -0.01 M314.98 -1.18 C315.2 18.06, 314.34 37.52, 313.61 56.65 M315.61 0.04 C315.05 22.72, 314.07 43.09, 315.68 58.2 M316.11 56.85 C202.77 56.9, 91.18 56.45, -0.02 57.44 M315.6 58.02 C218.95 56.54, 124.25 56.86, -0.25 57.78 M-1.44 57.92 C0.62 39.55, 0.93 20.56, 0.16 1.69 M-0.27 57.71 C0.24 43.2, 0.39 26.01, -0.48 -0.5" stroke="#000000" stroke-width="1" fill="none"/></g><g transform="translate(39.42823137555797 26.5) rotate(0 152.5 12.5)"><text x="152.5" y="18" font-family="Virgil, Segoe UI Emoji" font-size="20.007863314646595px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr">ContainerStatus</text></g><g stroke-linecap="round" transform="translate(30.614704313732318 170.17852601550868) rotate(0 157.5 29)"><path d="M-1.02 1.29 C83.28 -3.25, 167.84 -2.43, 315.47 -0.36 M0.38 0.41 C65.95 -0.56, 132.35 -1.08, 314.44 0.15 M313.65 1.41 C313.52 21.1, 314.4 38.79, 315 59.83 M315.66 0.41 C315.83 22.26, 314.39 43.16, 314.39 58.81 M315.1 57.69 C249.27 55.38, 185.3 56.56, -1.07 59.36 M314.89 58.04 C202.68 58.89, 90.26 57.8, 0.61 58.47 M0.38 59.11 C-0.75 41.5, 1.58 25.72, -0.96 1.07 M-0.83 57.09 C1.01 44.03, 0.31 31.42, -0.28 0.75" stroke="#000000" stroke-width="1" fill="none"/></g><g transform="translate(35.61470431373232 186.67852601550868) rotate(0 152.5 12.5)"><text x="152.5" y="18" font-family="Virgil, Segoe UI Emoji" font-size="20.007863314646595px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr">GetRealContainerOrSandboxID</text></g><g transform="translate(193.74969482421875 270.42826625279014) rotate(0 146.5 12.5)"><text x="0" y="18" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="start" style="white-space: pre;" direction="ltr">label: cri.isulad.type=container</text></g><g stroke-linecap="round" transform="translate(10 867.3332606724332) rotate(0 179 30)"><path d="M-0.16 -0.21 C83.93 0.51, 168.43 1.17, 357.77 0.62 M-0.12 0.51 C121.22 1.75, 243.25 2.21, 357.55 -0.56 M356.51 -0.15 C358.59 14.91, 356.51 27.55, 358.27 61.24 M358.65 -0.43 C358.21 20.64, 357.62 40.4, 358.51 59.99 M358.43 59.09 C236.2 62.03, 115.2 62.22, 0.1 61.17 M357.81 59.99 C234.02 62.42, 110.43 61.51, -0.04 59.89 M-0.59 59.35 C-0.05 40.55, -1.62 19.25, 0.36 -0.63 M-0.97 60.21 C-0.68 38.02, 0.52 15.18, 0.37 0.07" stroke="#000000" stroke-width="1" fill="none"/></g><g transform="translate(15 884.8332606724332) rotate(0 174 12.5)"><text x="174" y="18" font-family="Virgil, Segoe UI Emoji" font-size="20.007863314646595px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr">ContainerStatusToGRPC</text></g><g stroke-linecap="round" transform="translate(10.166641235351562 1026.4999019077843) rotate(0 179 30)"><path d="M0.43 -0.93 C123.54 1.94, 247.52 0.44, 357.36 0.48 M-0.63 -0.02 C126.78 -1.73, 254.36 -1.33, 357.83 -0.37 M358.75 -0.91 C360.24 14.39, 360.09 32.33, 358.23 60.6 M358.59 0.86 C358.95 13.1, 358.76 24.74, 358.21 60.27 M358.92 58.85 C248.6 57.25, 138.25 57.39, 0.11 59.12 M358.54 59.73 C247.93 60.93, 137 60.93, -0.57 59.99 M-1.75 58.6 C2.07 44.19, -1.19 29.9, -0.18 -0.99 M-0.2 59.03 C-1.03 39.57, -0.32 17.72, -0.67 -0.43" stroke="#000000" stroke-width="1" fill="none"/></g><g transform="translate(15.166641235351562 1043.9999019077843) rotate(0 174 12.5)"><text x="174" y="18" font-family="Virgil, Segoe UI Emoji" font-size="20.007863314646595px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr">return</text></g><g stroke-linecap="round"><g transform="translate(180.0601590960061 70.1109542846682) rotate(0 0.21133907938720853 47.38097417922239)"><path d="M-0.24 -0.99 C-0.45 14.93, -0.38 79.78, -0.38 95.75 M-1.82 1.1 C-1.74 16.68, 1.83 78.31, 1.91 94.15" stroke="#000000" stroke-width="1" fill="none"/></g><g transform="translate(180.060159096006
\ No newline at end of file
diff --git a/docs/design/CRI/CreateContainer_Flow_Chart.excalidraw.svg b/docs/design/CRI/CreateContainer_Flow_Chart.excalidraw.svg
new file mode 100644
index 00000000..1fc622e9
--- /dev/null
+++ b/docs/design/CRI/CreateContainer_Flow_Chart.excalidraw.svg
@@ -0,0 +1,5 @@
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 825.2915649414061 1156.1427917480464" width="825.2915649414061" height="1156.1427917480464" filter="invert(93%) hue-rotate(180deg)">
+ <!-- svg-source:excalidraw -->
+
+ <defs><style> @font-face {font-family: "Virgil";src: url("data:application/font-woff;charset=utf-8;base64,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
+ <rect x="0" y="0" width="825.2915649414061" height="1156.1427917480464" fill="#ffffff"/><g stroke-linecap="round" transform="translate(34.42823137555797 10) rotate(0 157.5 29)"><path d="M1.12 1.35 C71.27 -0.93, 140.21 -1.4, 315.36 1.41 M0.57 0.69 C71.82 2.33, 145.23 1.22, 315.19 -0.01 M314.98 -1.18 C315.2 18.06, 314.34 37.52, 313.61 56.65 M315.61 0.04 C315.05 22.72, 314.07 43.09, 315.68 58.2 M316.11 56.85 C202.77 56.9, 91.18 56.45, -0.02 57.44 M315.6 58.02 C218.95 56.54, 124.25 56.86, -0.25 57.78 M-1.44 57.92 C0.62 39.55, 0.93 20.56, 0.16 1.69 M-0.27 57.71 C0.24 43.2, 0.39 26.01, -0.48 -0.5" stroke="#000000" stroke-width="1" fill="none"/></g><g transform="translate(39.42823137555797 26.5) rotate(0 152.5 12.5)"><text x="152.5" y="18" font-family="Virgil, Segoe UI Emoji" font-size="20.007863314646595px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr">CreateContainer</text></g><g stroke-linecap="round" transform="translate(30.614704313732318 180.65468742733907) rotate(0 157.5 29)"><path d="M-1.02 1.29 C83.28 -3.25, 167.84 -2.43, 315.47 -0.36 M0.38 0.41 C65.95 -0.56, 132.35 -1.08, 314.44 0.15 M313.65 1.41 C313.52 21.1, 314.4 38.79, 315 59.83 M315.66 0.41 C315.83 22.26, 314.39 43.16, 314.39 58.81 M315.1 57.69 C249.27 55.38, 185.3 56.56, -1.07 59.36 M314.89 58.04 C202.68 58.89, 90.26 57.8, 0.61 58.47 M0.38 59.11 C-0.75 41.5, 1.58 25.72, -0.96 1.07 M-0.83 57.09 C1.01 44.03, 0.31 31.42, -0.28 0.75" stroke="#000000" stroke-width="1" fill="none"/></g><g transform="translate(35.61470431373232 197.15468742733907) rotate(0 152.5 12.5)"><text x="152.5" y="18" font-family="Virgil, Segoe UI Emoji" font-size="20.007863314646595px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr">GetRealContainerOrSandboxID</text></g><g stroke-linecap="round" transform="translate(28.09499468122192 562.3808615548271) rotate(0 157.5 30)"><path d="M-0.88 -0.94 C89.89 -2.54, 181.1 -1.65, 314.76 0.46 M-0.44 -0.36 C112.86 -0.86, 226.5 -1.44, 314.83 0.51 M314.75 -0.12 C314.32 12.08, 314.09 27.01, 313.97 61.85 M315.42 0.35 C314.99 20.81, 314.36 38.99, 314.16 60.16 M316.37 61.22 C239.23 56.92, 166.66 59, 0.75 59.07 M315.32 59.42 C227.2 59.59, 140.29 60.34, 0.25 59.37 M-1.39 61 C-0.68 42.66, -0.34 29.54, -0.54 -1.32 M0.89 60.53 C0.33 45.81, 0.26 30.88, 0.3 -0.39" stroke="#000000" stroke-width="1" fill="none"/></g><g transform="translate(33.09499468122192 579.8808615548271) rotate(0 152.5 12.5)"><text x="152.5" y="18" font-family="Virgil, Segoe UI Emoji" font-size="20.007863314646595px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr">GetContainerOrSandboxRuntime</text></g><g transform="translate(193.74969482421875 292.33308628627236) rotate(0 157.5 12.5)"><text x="0" y="18" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="start" style="white-space: pre;" direction="ltr">label: cri.isulad.type=podsandbox</text></g><g stroke-linecap="round" transform="translate(10 736.8570556640627) rotate(0 179 30)"><path d="M-0.16 -0.21 C83.93 0.51, 168.43 1.17, 357.77 0.62 M-0.12 0.51 C121.22 1.75, 243.25 2.21, 357.55 -0.56 M356.51 -0.15 C358.59 14.91, 356.51 27.55, 358.27 61.24 M358.65 -0.43 C358.21 20.64, 357.62 40.4, 358.51 59.99 M358.43 59.09 C236.2 62.03, 115.2 62.22, 0.1 61.17 M357.81 59.99 C234.02 62.42, 110.43 61.51, -0.04 59.89 M-0.59 59.35 C-0.05 40.55, -1.62 19.25, 0.36 -0.63 M-0.97 60.21 C-0.68 38.02, 0.52 15.18, 0.37 0.07" stroke="#000000" stroke-width="1" fill="none"/></g><g transform="translate(15 754.3570556640627) rotate(0 174 12.5)"><text x="174" y="18" font-family="Virgil, Segoe UI Emoji" font-size="20.007863314646595px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr">GenerateCreateContainerRequest</text></g><g stroke-linecap="round" transform="translate(10.166641235351562 907.4522683279854) rotate(0 179 30)"><path d="M0.43 -0.93 C123.54 1.94, 247.52 0.44, 357.36 0.48 M-0.63 -0.02 C126.78 -1.73, 254.36 -1.33, 357.83 -0.37 M358.75 -0.91 C360.24 14.39, 360.09 32.33, 358.23 60.6 M358.59 0.86 C358.95 13.1, 358.76
\ No newline at end of file
diff --git a/docs/design/CRI/ExecSync_Flow_Chart.excalidraw.svg b/docs/design/CRI/ExecSync_Flow_Chart.excalidraw.svg
new file mode 100644
index 00000000..b3462c59
--- /dev/null
+++ b/docs/design/CRI/ExecSync_Flow_Chart.excalidraw.svg
@@ -0,0 +1,5 @@
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496.74969482421875 1095.5474482945033" width="496.74969482421875" height="1095.5474482945033" filter="invert(93%) hue-rotate(180deg)">
+ <!-- svg-source:excalidraw -->
+
+ <defs><style> @font-face {font-family: "Virgil";src: url("data:application/font-woff;charset=utf-8;base64,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
+ <rect x="0" y="0" width="496.74969482421875" height="1095.5474482945033" fill="#ffffff"/><g stroke-linecap="round" transform="translate(34.42823137555797 10) rotate(0 157.5 29)"><path d="M1.12 1.35 C71.27 -0.93, 140.21 -1.4, 315.36 1.41 M0.57 0.69 C71.82 2.33, 145.23 1.22, 315.19 -0.01 M314.98 -1.18 C315.2 18.06, 314.34 37.52, 313.61 56.65 M315.61 0.04 C315.05 22.72, 314.07 43.09, 315.68 58.2 M316.11 56.85 C202.77 56.9, 91.18 56.45, -0.02 57.44 M315.6 58.02 C218.95 56.54, 124.25 56.86, -0.25 57.78 M-1.44 57.92 C0.62 39.55, 0.93 20.56, 0.16 1.69 M-0.27 57.71 C0.24 43.2, 0.39 26.01, -0.48 -0.5" stroke="#000000" stroke-width="1" fill="none"/></g><g transform="translate(39.42823137555797 26.5) rotate(0 152.5 12.5)"><text x="152.5" y="18" font-family="Virgil, Segoe UI Emoji" font-size="20.007863314646595px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr">ExecSync</text></g><g stroke-linecap="round" transform="translate(30.614704313732318 180.65468742733907) rotate(0 157.5 29)"><path d="M-1.02 1.29 C83.28 -3.25, 167.84 -2.43, 315.47 -0.36 M0.38 0.41 C65.95 -0.56, 132.35 -1.08, 314.44 0.15 M313.65 1.41 C313.52 21.1, 314.4 38.79, 315 59.83 M315.66 0.41 C315.83 22.26, 314.39 43.16, 314.39 58.81 M315.1 57.69 C249.27 55.38, 185.3 56.56, -1.07 59.36 M314.89 58.04 C202.68 58.89, 90.26 57.8, 0.61 58.47 M0.38 59.11 C-0.75 41.5, 1.58 25.72, -0.96 1.07 M-0.83 57.09 C1.01 44.03, 0.31 31.42, -0.28 0.75" stroke="#000000" stroke-width="1" fill="none"/></g><g transform="translate(35.61470431373232 197.15468742733907) rotate(0 152.5 12.5)"><text x="152.5" y="18" font-family="Virgil, Segoe UI Emoji" font-size="20.007863314646595px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr">GetRealContainerOrSandboxID</text></g><g stroke-linecap="round" transform="translate(29.0473175048827 551.1638932001024) rotate(0 157.5 30)"><path d="M-0.88 -0.94 C89.89 -2.54, 181.1 -1.65, 314.76 0.46 M-0.44 -0.36 C112.86 -0.86, 226.5 -1.44, 314.83 0.51 M314.75 -0.12 C314.32 12.08, 314.09 27.01, 313.97 61.85 M315.42 0.35 C314.99 20.81, 314.36 38.99, 314.16 60.16 M316.37 61.22 C239.23 56.92, 166.66 59, 0.75 59.07 M315.32 59.42 C227.2 59.59, 140.29 60.34, 0.25 59.37 M-1.39 61 C-0.68 42.66, -0.34 29.54, -0.54 -1.32 M0.89 60.53 C0.33 45.81, 0.26 30.88, 0.3 -0.39" stroke="#000000" stroke-width="1" fill="none"/></g><g transform="translate(34.0473175048827 568.6638932001024) rotate(0 152.5 12.5)"><text x="152.5" y="18" font-family="Virgil, Segoe UI Emoji" font-size="20.007863314646595px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr">ExecSyncFromGRPC</text></g><g transform="translate(193.74969482421875 292.33308628627236) rotate(0 146.5 12.5)"><text x="0" y="18" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="start" style="white-space: pre;" direction="ltr">label: cri.isulad.type=container</text></g><g stroke-linecap="round" transform="translate(10 865.4284842354914) rotate(0 179 30)"><path d="M-0.16 -0.21 C83.93 0.51, 168.43 1.17, 357.77 0.62 M-0.12 0.51 C121.22 1.75, 243.25 2.21, 357.55 -0.56 M356.51 -0.15 C358.59 14.91, 356.51 27.55, 358.27 61.24 M358.65 -0.43 C358.21 20.64, 357.62 40.4, 358.51 59.99 M358.43 59.09 C236.2 62.03, 115.2 62.22, 0.1 61.17 M357.81 59.99 C234.02 62.42, 110.43 61.51, -0.04 59.89 M-0.59 59.35 C-0.05 40.55, -1.62 19.25, 0.36 -0.63 M-0.97 60.21 C-0.68 38.02, 0.52 15.18, 0.37 0.07" stroke="#000000" stroke-width="1" fill="none"/></g><g transform="translate(15 882.9284842354914) rotate(0 174 12.5)"><text x="174" y="18" font-family="Virgil, Segoe UI Emoji" font-size="20.007863314646595px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr">m_cb-&gt;container.exec</text></g><g stroke-linecap="round" transform="translate(10.166641235351562 1025.5474482945033) rotate(0 179 30)"><path d="M0.43 -0.93 C123.54 1.94, 247.52 0.44, 357.36 0.48 M-0.63 -0.02 C126.78 -1.73, 254.36 -1.33, 357.83 -0.37 M358.75 -0.91 C360.24 14.39, 360.09 32.33, 358.23 60.6 M358.59 0.86 C358.95 13.1, 358.76 24.74, 358.21 60.27 M358.92
\ No newline at end of file
diff --git a/docs/design/CRI/Exec_Flow_Chart.excalidraw.svg b/docs/design/CRI/Exec_Flow_Chart.excalidraw.svg
new file mode 100644
index 00000000..463a9cce
--- /dev/null
+++ b/docs/design/CRI/Exec_Flow_Chart.excalidraw.svg
@@ -0,0 +1,5 @@
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024.9236828940254 1188.8283318110878" width="1024.9236828940254" height="1188.8283318110878" filter="invert(93%) hue-rotate(180deg)">
+ <!-- svg-source:excalidraw -->
+
+ <defs><style> @font-face {font-family: "Virgil";src: url("data:application/font-woff;charset=utf-8;base64,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
+ <rect x="0" y="0" width="1024.9236828940254" height="1188.8283318110878" fill="#ffffff"/><g stroke-linecap="round" transform="translate(25.20216078985254 19.924349376133762) rotate(0 157.5 29)"><path d="M1.12 1.35 C71.27 -0.93, 140.21 -1.4, 315.36 1.41 M0.57 0.69 C71.82 2.33, 145.23 1.22, 315.19 -0.01 M314.98 -1.18 C315.2 18.06, 314.34 37.52, 313.61 56.65 M315.61 0.04 C315.05 22.72, 314.07 43.09, 315.68 58.2 M316.11 56.85 C202.77 56.9, 91.18 56.45, -0.02 57.44 M315.6 58.02 C218.95 56.54, 124.25 56.86, -0.25 57.78 M-1.44 57.92 C0.62 39.55, 0.93 20.56, 0.16 1.69 M-0.27 57.71 C0.24 43.2, 0.39 26.01, -0.48 -0.5" stroke="#000000" stroke-width="1" fill="none"/></g><g transform="translate(30.20216078985254 36.42434937613376) rotate(0 152.5 12.5)"><text x="152.5" y="18" font-family="Virgil, Segoe UI Emoji" font-size="20.007863314646595px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr">Exec</text></g><g stroke-linecap="round" transform="translate(25.67434801374111 162.00760823204416) rotate(0 157.5 29)"><path d="M-1.02 1.29 C83.28 -3.25, 167.84 -2.43, 315.47 -0.36 M0.38 0.41 C65.95 -0.56, 132.35 -1.08, 314.44 0.15 M313.65 1.41 C313.52 21.1, 314.4 38.79, 315 59.83 M315.66 0.41 C315.83 22.26, 314.39 43.16, 314.39 58.81 M315.1 57.69 C249.27 55.38, 185.3 56.56, -1.07 59.36 M314.89 58.04 C202.68 58.89, 90.26 57.8, 0.61 58.47 M0.38 59.11 C-0.75 41.5, 1.58 25.72, -0.96 1.07 M-0.83 57.09 C1.01 44.03, 0.31 31.42, -0.28 0.75" stroke="#000000" stroke-width="1" fill="none"/></g><g transform="translate(30.67434801374111 178.50760823204416) rotate(0 152.5 12.5)"><text x="152.5" y="18" font-family="Virgil, Segoe UI Emoji" font-size="20.007863314646595px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr">GetRealContainerOrSandboxID</text></g><g transform="translate(181.19023277645965 247.97167778015177) rotate(0 146.5 12.5)"><text x="0" y="18" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="start" style="white-space: pre;" direction="ltr">label: cri.isulad.type=container</text></g><g stroke-linecap="round"><g transform="translate(174.9242905516681 78.92434937613376) rotate(0 0 38.88881774175735)"><path d="M-0.24 -0.99 C-0.52 12.1, -0.73 65.63, -0.8 78.77 M-1.82 1.1 C-1.81 13.85, 1.48 64.15, 1.49 77.17" stroke="#000000" stroke-width="1" fill="none"/></g><g transform="translate(174.9242905516681 78.92434937613376) rotate(0 0 38.88881774175735)"><path d="M-11.44 48.03 C-3.83 58.78, -1.13 70.96, 1.37 75.45 M-10.4 49.2 C-6.67 57.49, -3.71 64.54, 1.28 76.66" stroke="#000000" stroke-width="1" fill="none"/></g><g transform="translate(174.9242905516681 78.92434937613376) rotate(0 0 38.88881774175735)"><path d="M9.07 47.29 C8.96 58.27, 3.95 70.74, 1.37 75.45 M10.11 48.46 C8.33 57.06, 5.78 64.31, 1.28 76.66" stroke="#000000" stroke-width="1" fill="none"/></g></g><g stroke-linecap="round" transform="translate(10 305.0670303163082) rotate(0 172 52.3809814453125)"><path d="M172.54 1.69 C213.71 11.1, 252.96 25.81, 344.67 54.26 M172.91 0.06 C241.19 22.71, 308.53 43.4, 343.79 53.05 M342.51 51.45 C278.65 72.06, 217.51 90.68, 172.45 104.23 M344.71 53.65 C288.09 71.29, 231.35 87.93, 172.77 104.14 M174.67 105.38 C136.25 93.78, 98.73 82.11, -1.71 54.53 M172.74 105.17 C116.16 87.7, 60.37 70.04, 0.42 52.43 M1.13 53.4 C47.05 38.16, 90.5 25.53, 174.37 0.47 M0.53 52.16 C51.99 37.62, 104.48 21.88, 172.88 -0.54" stroke="#000000" stroke-width="1" fill="none"/></g><g transform="translate(15 344.9480117616207) rotate(0 167 12.5)"><text x="167" y="18" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr">get container ID ?</text></g><g stroke-linecap="round"><g transform="translate(180.24554803187195 223.89095073714904) rotate(0 0 39.512746919859794)"><path d="M-0.19 -0.99 C-0.1 12, -0.45 64.82, -0.51 78.28 M-1.75 1.11 C-1.78 14.21, -1.74 66.63, -1.73 79.43" stroke="#000000" stroke-width="1" fill="none"/></g><g transform="translate(180.24554803187195 223.89095073714904) rotate(0 0 39.512746919859794)"><pat
\ No newline at end of file
diff --git a/docs/design/CRI/ListContainers_Flow_Chart.excalidraw.svg b/docs/design/CRI/ListContainers_Flow_Chart.excalidraw.svg
new file mode 100644
index 00000000..9955aefa
--- /dev/null
+++ b/docs/design/CRI/ListContainers_Flow_Chart.excalidraw.svg
@@ -0,0 +1,5 @@
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 378 605.3755628797745" width="378" height="605.3755628797745" filter="invert(93%) hue-rotate(180deg)">
+ <!-- svg-source:excalidraw -->
+
+ <defs><style> @font-face {font-family: "Virgil";src: url("data:application/font-woff;charset=utf-8;base64,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
+ <rect x="0" y="0" width="378" height="605.3755628797745" fill="#ffffff"/><g stroke-linecap="round" transform="translate(34.42823137555797 10) rotate(0 157.5 29)"><path d="M1.12 1.35 C71.27 -0.93, 140.21 -1.4, 315.36 1.41 M0.57 0.69 C71.82 2.33, 145.23 1.22, 315.19 -0.01 M314.98 -1.18 C315.2 18.06, 314.34 37.52, 313.61 56.65 M315.61 0.04 C315.05 22.72, 314.07 43.09, 315.68 58.2 M316.11 56.85 C202.77 56.9, 91.18 56.45, -0.02 57.44 M315.6 58.02 C218.95 56.54, 124.25 56.86, -0.25 57.78 M-1.44 57.92 C0.62 39.55, 0.93 20.56, 0.16 1.69 M-0.27 57.71 C0.24 43.2, 0.39 26.01, -0.48 -0.5" stroke="#000000" stroke-width="1" fill="none"/></g><g transform="translate(39.42823137555797 26.5) rotate(0 152.5 12.5)"><text x="152.5" y="18" font-family="Virgil, Segoe UI Emoji" font-size="20.007863314646595px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr">ListContainers</text></g><g stroke-linecap="round" transform="translate(30.614704313732318 180.65468742733907) rotate(0 157.5 30)"><path d="M-1.02 1.29 C83.28 -3.25, 167.84 -2.43, 315.47 -0.36 M0.38 0.41 C65.95 -0.56, 132.35 -1.08, 314.44 0.15 M313.65 1.41 C313.51 21.77, 314.4 40.12, 315 61.83 M315.66 0.41 C315.83 23.01, 314.38 44.64, 314.39 60.81 M315.1 59.69 C249.27 57.38, 185.3 58.56, -1.07 61.36 M314.89 60.04 C202.68 60.89, 90.26 59.8, 0.61 60.47 M0.38 61.11 C-0.76 42.94, 1.57 26.6, -0.96 1.07 M-0.83 59.09 C1.01 45.56, 0.31 32.48, -0.28 0.75" stroke="#000000" stroke-width="1" fill="none"/></g><g transform="translate(35.61470431373232 198.15468742733907) rotate(0 152.5 12.5)"><text x="152.5" y="18" font-family="Virgil, Segoe UI Emoji" font-size="20.007863314646595px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr">ListContainersFromGRPC</text></g><g stroke-linecap="round" transform="translate(10 535.3755628797745) rotate(0 179 30)"><path d="M-0.16 -0.21 C83.93 0.51, 168.43 1.17, 357.77 0.62 M-0.12 0.51 C121.22 1.75, 243.25 2.21, 357.55 -0.56 M356.51 -0.15 C358.59 14.91, 356.51 27.55, 358.27 61.24 M358.65 -0.43 C358.21 20.64, 357.62 40.4, 358.51 59.99 M358.43 59.09 C236.2 62.03, 115.2 62.22, 0.1 61.17 M357.81 59.99 C234.02 62.42, 110.43 61.51, -0.04 59.89 M-0.59 59.35 C-0.05 40.55, -1.62 19.25, 0.36 -0.63 M-0.97 60.21 C-0.68 38.02, 0.52 15.18, 0.37 0.07" stroke="#000000" stroke-width="1" fill="none"/></g><g stroke-linecap="round"><g transform="translate(186.71813160754672 70.1109542846682) rotate(0 0.21887446801914479 52.61905488513759)"><path d="M-0.24 -0.99 C-0.45 16.67, -0.37 88.51, -0.36 106.23 M-1.82 1.1 C-1.73 18.43, 1.84 87.04, 1.93 104.63" stroke="#000000" stroke-width="1" fill="none"/></g><g transform="translate(186.71813160754672 70.1109542846682) rotate(0 0.21887446801914479 52.61905488513759)"><path d="M-10.85 75.43 C-3.3 86.2, -0.65 98.41, 1.81 102.91 M-9.81 76.6 C-6.12 84.91, -3.2 91.97, 1.72 104.12" stroke="#000000" stroke-width="1" fill="none"/></g><g transform="translate(186.71813160754672 70.1109542846682) rotate(0 0.21887446801914479 52.61905488513759)"><path d="M9.66 74.8 C9.49 85.76, 4.42 98.21, 1.81 102.91 M10.7 75.97 C8.88 84.56, 6.29 91.79, 1.72 104.12" stroke="#000000" stroke-width="1" fill="none"/></g></g><g stroke-linecap="round"><g transform="translate(187.58175445962672 241.71411677769288) rotate(0 -0.036917227551676035 59.22825500860499)"><path d="M-0.19 -0.99 C-0.12 18.57, -0.51 97.67, -0.58 117.71 M-1.75 1.11 C-1.79 20.78, -1.8 99.49, -1.8 118.86" stroke="#000000" stroke-width="1" fill="none"/></g><g transform="translate(187.58175445962672 241.71411677769288) rotate(0 -0.036917227551676035 59.22825500860499)"><path d="M-13.7 89.82 C-11.03 95.73, -6.29 102.15, -1.48 116.98 M-11.74 91.61 C-10.23 97.92, -6.97 104.45, -1.41 118.09" stroke="#000000" stroke-width="1" fill="none"/></g><g transform="translate(187.58175445962672 241.71411677769288) rotate(0 -0.036917227551676035 59.22825500860499)"><path d="M6.82 89.82 C5.12 95.7, 5.48 102.11, -1.48 116.98 M8.78 91.61 C5.15 97.89, 3.26 104.43, -1.41 118.09" stroke="#000000" stroke-width="1" fill="none"/></g></g><g stroke-linecap="round"><g transform="tra
\ No newline at end of file
diff --git a/docs/design/CRI/RemoveContainer_Flow_Chart.excalidraw.svg b/docs/design/CRI/RemoveContainer_Flow_Chart.excalidraw.svg
new file mode 100644
index 00000000..0ade7967
--- /dev/null
+++ b/docs/design/CRI/RemoveContainer_Flow_Chart.excalidraw.svg
@@ -0,0 +1,5 @@
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 510.6844002859933 806.8570556640627" width="510.6844002859933" height="806.8570556640627" filter="invert(93%) hue-rotate(180deg)">
+ <!-- svg-source:excalidraw -->
+
+ <defs><style> @font-face {font-family: "Virgil";src: url("data:application/font-woff;charset=utf-8;base64,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
+ <rect x="0" y="0" width="510.6844002859933" height="806.8570556640627" fill="#ffffff"/><g stroke-linecap="round" transform="translate(34.42823137555797 10) rotate(0 157.5 29)"><path d="M1.12 1.35 C71.27 -0.93, 140.21 -1.4, 315.36 1.41 M0.57 0.69 C71.82 2.33, 145.23 1.22, 315.19 -0.01 M314.98 -1.18 C315.2 18.06, 314.34 37.52, 313.61 56.65 M315.61 0.04 C315.05 22.72, 314.07 43.09, 315.68 58.2 M316.11 56.85 C202.77 56.9, 91.18 56.45, -0.02 57.44 M315.6 58.02 C218.95 56.54, 124.25 56.86, -0.25 57.78 M-1.44 57.92 C0.62 39.55, 0.93 20.56, 0.16 1.69 M-0.27 57.71 C0.24 43.2, 0.39 26.01, -0.48 -0.5" stroke="#000000" stroke-width="1" fill="none"/></g><g transform="translate(39.42823137555797 26.5) rotate(0 152.5 12.5)"><text x="152.5" y="18" font-family="Virgil, Segoe UI Emoji" font-size="20.007863314646595px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr">RemoveContainer</text></g><g stroke-linecap="round" transform="translate(30.614704313732318 180.65468742733907) rotate(0 157.5 29)"><path d="M-1.02 1.29 C83.28 -3.25, 167.84 -2.43, 315.47 -0.36 M0.38 0.41 C65.95 -0.56, 132.35 -1.08, 314.44 0.15 M313.65 1.41 C313.52 21.1, 314.4 38.79, 315 59.83 M315.66 0.41 C315.83 22.26, 314.39 43.16, 314.39 58.81 M315.1 57.69 C249.27 55.38, 185.3 56.56, -1.07 59.36 M314.89 58.04 C202.68 58.89, 90.26 57.8, 0.61 58.47 M0.38 59.11 C-0.75 41.5, 1.58 25.72, -0.96 1.07 M-0.83 57.09 C1.01 44.03, 0.31 31.42, -0.28 0.75" stroke="#000000" stroke-width="1" fill="none"/></g><g transform="translate(35.61470431373232 197.15468742733907) rotate(0 152.5 12.5)"><text x="152.5" y="18" font-family="Virgil, Segoe UI Emoji" font-size="20.007863314646595px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr">GetRealContainerOrSandboxID</text></g><g stroke-linecap="round" transform="translate(28.09499468122192 561.6400982084729) rotate(0 157.5 30)"><path d="M-0.88 -0.94 C89.89 -2.54, 181.1 -1.65, 314.76 0.46 M-0.44 -0.36 C112.86 -0.86, 226.5 -1.44, 314.83 0.51 M314.75 -0.12 C314.32 12.08, 314.09 27.01, 313.97 61.85 M315.42 0.35 C314.99 20.81, 314.36 38.99, 314.16 60.16 M316.37 61.22 C239.23 56.92, 166.66 59, 0.75 59.07 M315.32 59.42 C227.2 59.59, 140.29 60.34, 0.25 59.37 M-1.39 61 C-0.68 42.66, -0.34 29.54, -0.54 -1.32 M0.89 60.53 C0.33 45.81, 0.26 30.88, 0.3 -0.39" stroke="#000000" stroke-width="1" fill="none"/></g><g transform="translate(33.09499468122192 579.1400982084729) rotate(0 152.5 12.5)"><text x="152.5" y="18" font-family="Virgil, Segoe UI Emoji" font-size="20.007863314646595px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr">RemoveContainerLogSymlink</text></g><g transform="translate(193.74969482421875 292.33308628627236) rotate(0 146.5 12.5)"><text x="0" y="18" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="start" style="white-space: pre;" direction="ltr">label: cri.isulad.type=container</text></g><g stroke-linecap="round" transform="translate(10 736.8570556640627) rotate(0 179 30)"><path d="M-0.16 -0.21 C83.93 0.51, 168.43 1.17, 357.77 0.62 M-0.12 0.51 C121.22 1.75, 243.25 2.21, 357.55 -0.56 M356.51 -0.15 C358.59 14.91, 356.51 27.55, 358.27 61.24 M358.65 -0.43 C358.21 20.64, 357.62 40.4, 358.51 59.99 M358.43 59.09 C236.2 62.03, 115.2 62.22, 0.1 61.17 M357.81 59.99 C234.02 62.42, 110.43 61.51, -0.04 59.89 M-0.59 59.35 C-0.05 40.55, -1.62 19.25, 0.36 -0.63 M-0.97 60.21 C-0.68 38.02, 0.52 15.18, 0.37 0.07" stroke="#000000" stroke-width="1" fill="none"/></g><g transform="translate(15 754.3570556640627) rotate(0 174 12.5)"><text x="174" y="18" font-family="Virgil, Segoe UI Emoji" font-size="20.007863314646595px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr">cb-&gt;container.remove</text></g><g stroke-linecap="round"><g transform="translate(180.05220644583324 70.1109542846682) rotate(0 0.22022447020674463 52.61905488513759)"><path d="M-0.24 -0.99 C-0.45 16.67, -0.37 88.51, -0.36 106.23 M-1.82 1.1 C-1.73 18.43, 1.85 87.04, 1.93 104.63" stroke="#000000" stroke-width="1" fill="none"/></g><g transform="transl
\ No newline at end of file
diff --git a/docs/design/CRI/StartContainer_Flow_Chart.excalidraw.svg b/docs/design/CRI/StartContainer_Flow_Chart.excalidraw.svg
new file mode 100644
index 00000000..e84bd261
--- /dev/null
+++ b/docs/design/CRI/StartContainer_Flow_Chart.excalidraw.svg
@@ -0,0 +1,5 @@
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496.74969482421875 806.8570556640627" width="496.74969482421875" height="806.8570556640627" filter="invert(93%) hue-rotate(180deg)">
+ <!-- svg-source:excalidraw -->
+
+ <defs><style> @font-face {font-family: "Virgil";src: url("data:application/font-woff;charset=utf-8;base64,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
+ <rect x="0" y="0" width="496.74969482421875" height="806.8570556640627" fill="#ffffff"/><g stroke-linecap="round" transform="translate(34.42823137555797 10) rotate(0 157.5 29)"><path d="M1.12 1.35 C71.27 -0.93, 140.21 -1.4, 315.36 1.41 M0.57 0.69 C71.82 2.33, 145.23 1.22, 315.19 -0.01 M314.98 -1.18 C315.2 18.06, 314.34 37.52, 313.61 56.65 M315.61 0.04 C315.05 22.72, 314.07 43.09, 315.68 58.2 M316.11 56.85 C202.77 56.9, 91.18 56.45, -0.02 57.44 M315.6 58.02 C218.95 56.54, 124.25 56.86, -0.25 57.78 M-1.44 57.92 C0.62 39.55, 0.93 20.56, 0.16 1.69 M-0.27 57.71 C0.24 43.2, 0.39 26.01, -0.48 -0.5" stroke="#000000" stroke-width="1" fill="none"/></g><g transform="translate(39.42823137555797 26.5) rotate(0 152.5 12.5)"><text x="152.5" y="18" font-family="Virgil, Segoe UI Emoji" font-size="20.007863314646595px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr">StartContainer</text></g><g stroke-linecap="round" transform="translate(30.614704313732318 180.65468742733907) rotate(0 157.5 29)"><path d="M-1.02 1.29 C83.28 -3.25, 167.84 -2.43, 315.47 -0.36 M0.38 0.41 C65.95 -0.56, 132.35 -1.08, 314.44 0.15 M313.65 1.41 C313.52 21.1, 314.4 38.79, 315 59.83 M315.66 0.41 C315.83 22.26, 314.39 43.16, 314.39 58.81 M315.1 57.69 C249.27 55.38, 185.3 56.56, -1.07 59.36 M314.89 58.04 C202.68 58.89, 90.26 57.8, 0.61 58.47 M0.38 59.11 C-0.75 41.5, 1.58 25.72, -0.96 1.07 M-0.83 57.09 C1.01 44.03, 0.31 31.42, -0.28 0.75" stroke="#000000" stroke-width="1" fill="none"/></g><g transform="translate(35.61470431373232 197.15468742733907) rotate(0 152.5 12.5)"><text x="152.5" y="18" font-family="Virgil, Segoe UI Emoji" font-size="20.007863314646595px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr">GetRealContainerOrSandboxID</text></g><g stroke-linecap="round" transform="translate(28.09499468122192 562.3808615548271) rotate(0 157.5 30)"><path d="M-0.88 -0.94 C89.89 -2.54, 181.1 -1.65, 314.76 0.46 M-0.44 -0.36 C112.86 -0.86, 226.5 -1.44, 314.83 0.51 M314.75 -0.12 C314.32 12.08, 314.09 27.01, 313.97 61.85 M315.42 0.35 C314.99 20.81, 314.36 38.99, 314.16 60.16 M316.37 61.22 C239.23 56.92, 166.66 59, 0.75 59.07 M315.32 59.42 C227.2 59.59, 140.29 60.34, 0.25 59.37 M-1.39 61 C-0.68 42.66, -0.34 29.54, -0.54 -1.32 M0.89 60.53 C0.33 45.81, 0.26 30.88, 0.3 -0.39" stroke="#000000" stroke-width="1" fill="none"/></g><g transform="translate(33.09499468122192 579.8808615548271) rotate(0 152.5 12.5)"><text x="152.5" y="18" font-family="Virgil, Segoe UI Emoji" font-size="20.007863314646595px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr">m_cb-&gt;container.start</text></g><g transform="translate(193.74969482421875 292.33308628627236) rotate(0 146.5 12.5)"><text x="0" y="18" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="start" style="white-space: pre;" direction="ltr">label: cri.isulad.type=container</text></g><g stroke-linecap="round" transform="translate(10 736.8570556640627) rotate(0 179 30)"><path d="M-0.16 -0.21 C83.93 0.51, 168.43 1.17, 357.77 0.62 M-0.12 0.51 C121.22 1.75, 243.25 2.21, 357.55 -0.56 M356.51 -0.15 C358.59 14.91, 356.51 27.55, 358.27 61.24 M358.65 -0.43 C358.21 20.64, 357.62 40.4, 358.51 59.99 M358.43 59.09 C236.2 62.03, 115.2 62.22, 0.1 61.17 M357.81 59.99 C234.02 62.42, 110.43 61.51, -0.04 59.89 M-0.59 59.35 C-0.05 40.55, -1.62 19.25, 0.36 -0.63 M-0.97 60.21 C-0.68 38.02, 0.52 15.18, 0.37 0.07" stroke="#000000" stroke-width="1" fill="none"/></g><g transform="translate(15 754.3570556640627) rotate(0 174 12.5)"><text x="174" y="18" font-family="Virgil, Segoe UI Emoji" font-size="20.007863314646595px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr">CreateContainerLogSymlink</text></g><g stroke-linecap="round"><g transform="translate(180.05220644583324 70.1109542846682) rotate(0 0.22022447020674463 52.61905488513759)"><path d="M-0.24 -0.99 C-0.45 16.67, -0.37 88.51, -0.36 106.23 M-1.82 1.1 C-1.73 18.43, 1.85 87.04, 1.93 104.63" stroke="#000000" stroke-width="1" fill="none"/></g><g transform="trans
\ No newline at end of file
diff --git a/docs/design/CRI/StopContainer_Flow_Chart.excalidraw.svg b/docs/design/CRI/StopContainer_Flow_Chart.excalidraw.svg
new file mode 100644
index 00000000..ab619ecc
--- /dev/null
+++ b/docs/design/CRI/StopContainer_Flow_Chart.excalidraw.svg
@@ -0,0 +1,5 @@
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496.74969482421875 806.8570556640627" width="496.74969482421875" height="806.8570556640627" filter="invert(93%) hue-rotate(180deg)">
+ <!-- svg-source:excalidraw -->
+
+ <defs><style> @font-face {font-family: "Virgil";src: url("data:application/font-woff;charset=utf-8;base64,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
+ <rect x="0" y="0" width="496.74969482421875" height="806.8570556640627" fill="#ffffff"/><g stroke-linecap="round" transform="translate(34.42823137555797 10) rotate(0 157.5 29)"><path d="M1.12 1.35 C71.27 -0.93, 140.21 -1.4, 315.36 1.41 M0.57 0.69 C71.82 2.33, 145.23 1.22, 315.19 -0.01 M314.98 -1.18 C315.2 18.06, 314.34 37.52, 313.61 56.65 M315.61 0.04 C315.05 22.72, 314.07 43.09, 315.68 58.2 M316.11 56.85 C202.77 56.9, 91.18 56.45, -0.02 57.44 M315.6 58.02 C218.95 56.54, 124.25 56.86, -0.25 57.78 M-1.44 57.92 C0.62 39.55, 0.93 20.56, 0.16 1.69 M-0.27 57.71 C0.24 43.2, 0.39 26.01, -0.48 -0.5" stroke="#000000" stroke-width="1" fill="none"/></g><g transform="translate(39.42823137555797 26.5) rotate(0 152.5 12.5)"><text x="152.5" y="18" font-family="Virgil, Segoe UI Emoji" font-size="20.007863314646595px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr">StopContainer</text></g><g stroke-linecap="round" transform="translate(30.614704313732318 180.65468742733907) rotate(0 157.5 29)"><path d="M-1.02 1.29 C83.28 -3.25, 167.84 -2.43, 315.47 -0.36 M0.38 0.41 C65.95 -0.56, 132.35 -1.08, 314.44 0.15 M313.65 1.41 C313.52 21.1, 314.4 38.79, 315 59.83 M315.66 0.41 C315.83 22.26, 314.39 43.16, 314.39 58.81 M315.1 57.69 C249.27 55.38, 185.3 56.56, -1.07 59.36 M314.89 58.04 C202.68 58.89, 90.26 57.8, 0.61 58.47 M0.38 59.11 C-0.75 41.5, 1.58 25.72, -0.96 1.07 M-0.83 57.09 C1.01 44.03, 0.31 31.42, -0.28 0.75" stroke="#000000" stroke-width="1" fill="none"/></g><g transform="translate(35.61470431373232 197.15468742733907) rotate(0 152.5 12.5)"><text x="152.5" y="18" font-family="Virgil, Segoe UI Emoji" font-size="20.007863314646595px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr">GetRealContainerOrSandboxID</text></g><g stroke-linecap="round" transform="translate(28.09499468122192 561.6400982084729) rotate(0 157.5 30)"><path d="M-0.88 -0.94 C89.89 -2.54, 181.1 -1.65, 314.76 0.46 M-0.44 -0.36 C112.86 -0.86, 226.5 -1.44, 314.83 0.51 M314.75 -0.12 C314.32 12.08, 314.09 27.01, 313.97 61.85 M315.42 0.35 C314.99 20.81, 314.36 38.99, 314.16 60.16 M316.37 61.22 C239.23 56.92, 166.66 59, 0.75 59.07 M315.32 59.42 C227.2 59.59, 140.29 60.34, 0.25 59.37 M-1.39 61 C-0.68 42.66, -0.34 29.54, -0.54 -1.32 M0.89 60.53 C0.33 45.81, 0.26 30.88, 0.3 -0.39" stroke="#000000" stroke-width="1" fill="none"/></g><g transform="translate(33.09499468122192 579.1400982084729) rotate(0 152.5 12.5)"><text x="152.5" y="18" font-family="Virgil, Segoe UI Emoji" font-size="20.007863314646595px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr">set id and timeout</text></g><g transform="translate(193.74969482421875 292.33308628627236) rotate(0 146.5 12.5)"><text x="0" y="18" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="start" style="white-space: pre;" direction="ltr">label: cri.isulad.type=container</text></g><g stroke-linecap="round" transform="translate(10 736.8570556640627) rotate(0 179 30)"><path d="M-0.16 -0.21 C83.93 0.51, 168.43 1.17, 357.77 0.62 M-0.12 0.51 C121.22 1.75, 243.25 2.21, 357.55 -0.56 M356.51 -0.15 C358.59 14.91, 356.51 27.55, 358.27 61.24 M358.65 -0.43 C358.21 20.64, 357.62 40.4, 358.51 59.99 M358.43 59.09 C236.2 62.03, 115.2 62.22, 0.1 61.17 M357.81 59.99 C234.02 62.42, 110.43 61.51, -0.04 59.89 M-0.59 59.35 C-0.05 40.55, -1.62 19.25, 0.36 -0.63 M-0.97 60.21 C-0.68 38.02, 0.52 15.18, 0.37 0.07" stroke="#000000" stroke-width="1" fill="none"/></g><g transform="translate(15 754.3570556640627) rotate(0 174 12.5)"><text x="174" y="18" font-family="Virgil, Segoe UI Emoji" font-size="20.007863314646595px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr">m_cb-&gt;container.stop</text></g><g stroke-linecap="round"><g transform="translate(180.05220644583324 70.1109542846682) rotate(0 0.22022447020674463 52.61905488513759)"><path d="M-0.24 -0.99 C-0.45 16.67, -0.37 88.51, -0.36 106.23 M-1.82 1.1 C-1.73 18.43, 1.85 87.04, 1.93 104.63" stroke="#000000" stroke-width="1" fill="none"/></g><g transform="translate(180.
\ No newline at end of file
diff --git a/docs/design/CRI/UpdateContainerResources_Flow_Chart.excalidraw.svg b/docs/design/CRI/UpdateContainerResources_Flow_Chart.excalidraw.svg
new file mode 100644
index 00000000..78ca3360
--- /dev/null
+++ b/docs/design/CRI/UpdateContainerResources_Flow_Chart.excalidraw.svg
@@ -0,0 +1,5 @@
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496.74969482421875 806.8570556640627" width="496.74969482421875" height="806.8570556640627" filter="invert(93%) hue-rotate(180deg)">
+ <!-- svg-source:excalidraw -->
+
+ <defs><style> @font-face {font-family: "Virgil";src: url("data:application/font-woff;charset=utf-8;base64,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
+ <rect x="0" y="0" width="496.74969482421875" height="806.8570556640627" fill="#ffffff"/><g stroke-linecap="round" transform="translate(34.42823137555797 10) rotate(0 157.5 29)"><path d="M1.12 1.35 C71.27 -0.93, 140.21 -1.4, 315.36 1.41 M0.57 0.69 C71.82 2.33, 145.23 1.22, 315.19 -0.01 M314.98 -1.18 C315.2 18.06, 314.34 37.52, 313.61 56.65 M315.61 0.04 C315.05 22.72, 314.07 43.09, 315.68 58.2 M316.11 56.85 C202.77 56.9, 91.18 56.45, -0.02 57.44 M315.6 58.02 C218.95 56.54, 124.25 56.86, -0.25 57.78 M-1.44 57.92 C0.62 39.55, 0.93 20.56, 0.16 1.69 M-0.27 57.71 C0.24 43.2, 0.39 26.01, -0.48 -0.5" stroke="#000000" stroke-width="1" fill="none"/></g><g transform="translate(39.42823137555797 26.5) rotate(0 152.5 12.5)"><text x="152.5" y="18" font-family="Virgil, Segoe UI Emoji" font-size="20.007863314646595px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr">UpdateContainerResources</text></g><g stroke-linecap="round" transform="translate(30.614704313732318 180.65468742733907) rotate(0 157.5 29)"><path d="M-1.02 1.29 C83.28 -3.25, 167.84 -2.43, 315.47 -0.36 M0.38 0.41 C65.95 -0.56, 132.35 -1.08, 314.44 0.15 M313.65 1.41 C313.52 21.1, 314.4 38.79, 315 59.83 M315.66 0.41 C315.83 22.26, 314.39 43.16, 314.39 58.81 M315.1 57.69 C249.27 55.38, 185.3 56.56, -1.07 59.36 M314.89 58.04 C202.68 58.89, 90.26 57.8, 0.61 58.47 M0.38 59.11 C-0.75 41.5, 1.58 25.72, -0.96 1.07 M-0.83 57.09 C1.01 44.03, 0.31 31.42, -0.28 0.75" stroke="#000000" stroke-width="1" fill="none"/></g><g transform="translate(35.61470431373232 197.15468742733907) rotate(0 152.5 12.5)"><text x="152.5" y="18" font-family="Virgil, Segoe UI Emoji" font-size="20.007863314646595px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr">GetRealContainerOrSandboxID</text></g><g stroke-linecap="round" transform="translate(28.09499468122192 562.3808615548271) rotate(0 157.5 30)"><path d="M-0.88 -0.94 C89.89 -2.54, 181.1 -1.65, 314.76 0.46 M-0.44 -0.36 C112.86 -0.86, 226.5 -1.44, 314.83 0.51 M314.75 -0.12 C314.32 12.08, 314.09 27.01, 313.97 61.85 M315.42 0.35 C314.99 20.81, 314.36 38.99, 314.16 60.16 M316.37 61.22 C239.23 56.92, 166.66 59, 0.75 59.07 M315.32 59.42 C227.2 59.59, 140.29 60.34, 0.25 59.37 M-1.39 61 C-0.68 42.66, -0.34 29.54, -0.54 -1.32 M0.89 60.53 C0.33 45.81, 0.26 30.88, 0.3 -0.39" stroke="#000000" stroke-width="1" fill="none"/></g><g transform="translate(33.09499468122192 579.8808615548271) rotate(0 152.5 12.5)"><text x="152.5" y="18" font-family="Virgil, Segoe UI Emoji" font-size="20.007863314646595px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr">generate hostconfig</text></g><g transform="translate(193.74969482421875 292.33308628627236) rotate(0 146.5 12.5)"><text x="0" y="18" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="start" style="white-space: pre;" direction="ltr">label: cri.isulad.type=container</text></g><g stroke-linecap="round" transform="translate(10 736.8570556640627) rotate(0 179 30)"><path d="M-0.16 -0.21 C83.93 0.51, 168.43 1.17, 357.77 0.62 M-0.12 0.51 C121.22 1.75, 243.25 2.21, 357.55 -0.56 M356.51 -0.15 C358.59 14.91, 356.51 27.55, 358.27 61.24 M358.65 -0.43 C358.21 20.64, 357.62 40.4, 358.51 59.99 M358.43 59.09 C236.2 62.03, 115.2 62.22, 0.1 61.17 M357.81 59.99 C234.02 62.42, 110.43 61.51, -0.04 59.89 M-0.59 59.35 C-0.05 40.55, -1.62 19.25, 0.36 -0.63 M-0.97 60.21 C-0.68 38.02, 0.52 15.18, 0.37 0.07" stroke="#000000" stroke-width="1" fill="none"/></g><g transform="translate(15 754.3570556640627) rotate(0 174 12.5)"><text x="174" y="18" font-family="Virgil, Segoe UI Emoji" font-size="20.007863314646595px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr">m_cb-&gt;container.update</text></g><g stroke-linecap="round"><g transform="translate(180.05220644583324 70.1109542846682) rotate(0 0.22022447020674463 52.61905488513759)"><path d="M-0.24 -0.99 C-0.45 16.67, -0.37 88.51, -0.36 106.23 M-1.82 1.1 C-1.73 18.43, 1.85 87.04, 1.93 104.63" stroke="#000000" stroke-width="1" fill="none"/></g><g transform="
\ No newline at end of file
diff --git a/docs/design/CRI/Websocket_Flow_Chart.excalidraw.svg b/docs/design/CRI/Websocket_Flow_Chart.excalidraw.svg
new file mode 100644
index 00000000..8e3e589a
--- /dev/null
+++ b/docs/design/CRI/Websocket_Flow_Chart.excalidraw.svg
@@ -0,0 +1,5 @@
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 3816.654021088605 2206.1815332685196" width="3816.654021088605" height="2206.1815332685196" filter="invert(93%) hue-rotate(180deg)">
+ <!-- svg-source:excalidraw -->
+
+ <defs><style> @font-face {font-family: "Virgil";src: url("data:application/font-woff;charset=utf-8;base64,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
+ <rect x="0" y="0" width="3816.654021088605" height="2206.1815332685196" fill="#ffffff"/><g stroke-linecap="round" transform="translate(1527.9936191251334 10) rotate(0 589.5 32)"><path d="M-0.26 0.42 C240.73 -1.27, 480.58 -1.01, 1178.94 -0.19 M0.18 -0.34 C469.92 0.35, 938.94 0.14, 1178.62 -0.28 M1177.35 1.05 C1178.18 19.93, 1180.17 41.16, 1179.58 62.61 M1178.14 0.59 C1178.76 14.79, 1178.2 31.38, 1178.68 64.49 M1178.64 64.05 C866.12 64.21, 553.21 64.19, -0.21 63.66 M1178.7 64.03 C877.22 62.64, 575.57 62.08, -0.02 63.71 M0.43 64.49 C0.15 46.53, 0.01 25.42, 1.72 -0.9 M-0.03 64.69 C0.16 49.95, -1.14 35.08, -0.36 0.47" stroke="#000000" stroke-width="1" fill="none"/></g><g transform="translate(1532.9936191251334 29.5) rotate(0 584.5 12.5)"><text x="584.5" y="18" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr">WebsocketServer::Callback(struct lws *wsi, enum lws_callback_reasons reason, void *user, void *in, size_t len)</text></g><g stroke-linecap="round" transform="translate(1924.9221324249845 143.2540166945684) rotate(0 172 52.3809814453125)"><path d="M171.27 1.75 C209.37 14.16, 244.97 23.62, 344.84 53.02 M172.94 0.74 C223.05 15.96, 271.3 30.83, 344.55 52.29 M345.53 52.53 C297.54 66.45, 246.71 83.39, 174.98 104.63 M343.62 52.46 C278.64 71.87, 212.54 92.17, 173.02 104.07 M174.38 104.16 C110.95 88.1, 48.94 68.36, 0.81 51.43 M172.25 105.74 C117.34 89.58, 60.64 73.15, -0.33 53.68 M0.33 54.09 C45.81 38.76, 89.08 25.98, 174.3 0.91 M-0.67 52.7 C61.47 32.91, 123.07 15.12, 173.92 -0.08" stroke="#000000" stroke-width="1" fill="none"/></g><g transform="translate(1929.9221324249845 183.1349981398809) rotate(0 167 12.5)"><text x="167" y="18" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr">switch (reason)</text></g><g stroke-linecap="round" transform="translate(2110.143012086336 437.8860078539167) rotate(0 157.5 30)"><path d="M-0.67 0.87 C100.27 -1.93, 197.4 -1.21, 315.77 -0.63 M-0.69 -0.49 C110.75 1.97, 222.69 2.4, 315.39 0.26 M313.81 -1.6 C313.6 10.82, 313.71 25.37, 314.75 61.1 M315.25 0.78 C315.21 17.97, 314.26 37.27, 314.35 59.03 M315.99 60.11 C193.13 62.4, 72.97 61.76, -1.19 61.05 M314.63 59.35 C239.1 61.18, 163.36 60.99, 0.31 60.68 M1.08 60.13 C0.12 42.95, 1.8 21.41, -0.6 -1.47 M0.12 59.38 C-0.76 41.88, 0.25 22.62, -0.31 0.83" stroke="#000000" stroke-width="1" fill="none"/></g><g transform="translate(2115.143012086336 455.3860078539167) rotate(0 152.5 12.5)"><text x="152.5" y="18" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr">read lock m_mutex</text></g><g stroke-linecap="round" transform="translate(2105.4569752790085 755.7916865187699) rotate(0 172 52.3809814453125)"><path d="M172.72 -0.87 C217.25 12.95, 258.79 26.3, 344.65 51.02 M172.67 0.47 C207.59 12.33, 242.35 21.64, 343.25 53.77 M342.17 52.16 C302.49 64.4, 262.36 77.37, 172.87 105.82 M343.19 52.3 C288.56 69.59, 232.32 87.9, 172.6 105.43 M174.28 105.36 C109.32 83.14, 46.4 64.49, 0.87 54 M173.1 105.16 C130.38 92.51, 88.58 79.28, -0.37 53.84 M1.3 54.58 C59.28 33.74, 120.89 15.81, 174.37 -1.44 M0.55 53.66 C54.17 36.77, 108.96 20.97, 172.61 -0.46" stroke="#000000" stroke-width="1" fill="none"/></g><g transform="translate(2110.4569752790085 795.6726679640824) rotate(0 167 12.5)"><text x="167" y="18" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr">Is Last StdinComplete ?</text></g><g stroke-linecap="round" transform="translate(1934.8986186183267 962.0451698273532) rotate(0 157.5 30)"><path d="M0.53 0.77 C121.82 1.72, 245.36 -0.43, 313.62 -0.97 M0.2 0.39 C75.71 -1.68, 150.37 -0.5, 314.58 -0.57 M315.07 -0.25 C315.55 15.42, 314.32 31.37, 315.5 61.56 M314.72 -0.65 C313.55 20.32, 314.11 39.61, 315.7 60.08 M315.27 58.81 C235.85 59.84, 155.21 61.38, -0.73 58.7 M314.88 60.31 C218.49 60.93, 120.37 61.48, 0.38 60.05 M-1.89 59.4 C-1.86 42.53, 0.98 23.19, 0.23 -1
\ No newline at end of file
diff --git a/docs/design/CRI/Websocket_Server_Flow_Chart.excalidraw.svg b/docs/design/CRI/Websocket_Server_Flow_Chart.excalidraw.svg
new file mode 100644
index 00000000..ac784cc6
--- /dev/null
+++ b/docs/design/CRI/Websocket_Server_Flow_Chart.excalidraw.svg
@@ -0,0 +1,5 @@
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1980.044452235309 1173.813540120813" width="1980.044452235309" height="1173.813540120813" filter="invert(93%) hue-rotate(180deg)">
+ <!-- svg-source:excalidraw -->
+
+ <defs><style> @font-face {font-family: "Virgil";src: url("data:application/font-woff;charset=utf-8;base64,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
+ <rect x="0" y="0" width="1980.044452235309" height="1173.813540120813" fill="#ffffff"/><g stroke-linecap="round" transform="translate(316.1427066217607 120.60343616396722) rotate(0 157.5 30)"><path d="M-1.12 1.05 C78.01 0.72, 153.21 1.38, 314.26 -0.43 M-0.07 0.54 C93.85 -0.08, 186.45 -0.43, 315.43 -0.3 M316.12 -1.14 C312.43 19.23, 313.1 36.77, 316.03 59.2 M314.96 -0.55 C316.29 14.12, 314.78 30.27, 315.98 59.61 M316.01 59.55 C226.01 59.47, 137.13 59.41, 0.01 61.33 M315.26 60.18 C234.84 59.9, 154.14 60.26, -0.13 59.45 M1.43 60.23 C-0.28 37.1, -0.6 11.84, -1.15 1.89 M-0.98 60.38 C-0.19 36.79, -0.84 12.31, 0.44 0.66" stroke="#000000" stroke-width="1" fill="none"/></g><g transform="translate(321.1427066217607 138.10343616396722) rotate(0 152.5 12.5)"><text x="152.5" y="18" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr">WebsocketServer::Start</text></g><g stroke-linecap="round" transform="translate(260.30933768458635 289.93686867942915) rotate(0 227.5 30)"><path d="M0.77 -0.27 C166.96 2.58, 332.14 2.72, 454.8 -0.7 M0.27 -0.38 C132.9 -0.61, 266.74 -1.14, 455.46 -0.39 M455.91 0.68 C453.42 21.79, 455.27 40.14, 453.08 61.49 M455.35 -0.87 C455.71 15.09, 454.91 28.75, 454.56 60.1 M454.18 59.46 C291.92 59.1, 129.67 59.1, -0.2 59.88 M455.19 59.63 C325.02 61.62, 195.42 61.63, -0.07 59.66 M0.37 60.63 C0.64 45.71, 1.19 29.87, 0.82 -1.2 M0.46 60.61 C0.06 43.18, 0.64 27.28, -0.82 0.27" stroke="#000000" stroke-width="1" fill="none"/></g><g transform="translate(265.30933768458635 307.43686867942915) rotate(0 222.5 12.5)"><text x="222.5" y="18" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr">conf_get_websocket_server_listening_port</text></g><g stroke-linecap="round" transform="translate(306.55933768458635 465.77018929710493) rotate(0 168 30)"><path d="M-0.83 1.13 C81.63 2.02, 165.6 2.42, 336.59 1.08 M-0.02 -0.54 C70.87 -1.01, 140.27 -0.65, 336.51 -0.05 M336.91 1.65 C336.35 21.73, 334.84 45.87, 335.58 61.69 M335.27 -0.72 C335.95 22.37, 335.22 44.01, 335.13 60.97 M334.72 59.74 C212.32 58.96, 86.63 59.97, 0.22 60.77 M336.5 59.62 C203.39 59.15, 70.84 59.7, -0.23 60.34 M-1.92 59.95 C0.9 42.64, -0.66 24.74, 1.8 1.45 M0.42 59.82 C-1.17 41.77, 0.11 25.13, -0.26 0.82" stroke="#000000" stroke-width="1" fill="none"/></g><g transform="translate(311.55933768458635 483.27018929710493) rotate(0 163 12.5)"><text x="163" y="18" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr">WebsocketServer::CreateContext</text></g><g stroke-linecap="round" transform="translate(304.8689123567401 637.0598548825774) rotate(0 168 30)"><path d="M-0.6 -0.92 C110.69 -1.35, 218.25 -2.05, 335.31 -0.4 M-0.4 0.36 C117.39 1.13, 233.26 1.65, 336.44 0.16 M337.26 1.17 C336.6 12.92, 334.66 28.88, 335.63 60.39 M336.95 -0.73 C334.89 17.57, 335.05 34.75, 335.91 59.01 M337.08 60.68 C230.08 59.84, 123.82 59.87, 1.29 60.53 M335.42 59.99 C260.34 62.11, 184.12 61.67, 0.23 59.74 M0.69 59.16 C-1.61 43.64, -0.3 25.15, -1.03 1.93 M0.15 59.26 C0.33 36.78, 0.33 14.77, 0.49 0.28" stroke="#000000" stroke-width="1" fill="none"/></g><g transform="translate(309.8689123567401 654.5598548825774) rotate(0 163 12.5)"><text x="163" y="18" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr">WebsocketServer</text></g><g stroke-linecap="round" transform="translate(380.76800144336585 796.2911184065867) rotate(0 98 96)"><path d="M16.7 42.34 C16.7 42.34, 16.7 42.34, 16.7 42.34 M16.7 42.34 C16.7 42.34, 16.7 42.34, 16.7 42.34 M11.68 54 C25.4 40.05, 36.43 24.91, 43.04 17.32 M10.85 53.64 C18.98 47.44, 24.62 39.94, 44.5 17.28 M5.61 66.25 C18.59 53.01, 29.99 37.86, 46.4 19.95 M5.85 66.86 C21.74 49.45, 37.1 31.39, 48.79 17.63 M3.24 74.65 C18.46 60.53, 28.68 44.49, 56.42 14.73 M3.34 75.91 C22.1 53.17, 41.65 31.68, 56.85 16.01 M1.66 81.4 C20.75 61.89, 37.67 42.99, 64.41 12.09 M3.72 81.48 C16.57 67
\ No newline at end of file
diff --git a/docs/design/CRI/Websocket_Stream_Flow_Chart.excalidraw.svg b/docs/design/CRI/Websocket_Stream_Flow_Chart.excalidraw.svg
new file mode 100644
index 00000000..9a1c60b7
--- /dev/null
+++ b/docs/design/CRI/Websocket_Stream_Flow_Chart.excalidraw.svg
@@ -0,0 +1,5 @@
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2150.486043294271 1849.0468516276887" width="2150.486043294271" height="1849.0468516276887" filter="invert(93%) hue-rotate(180deg)">
+ <!-- svg-source:excalidraw -->
+
+ <defs><style> @font-face {font-family: "Virgil";src: url("data:application/font-woff;charset=utf-8;base64,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
+ <rect x="0" y="0" width="2150.486043294271" height="1849.0468516276887" fill="#ffffff"/><g stroke-linecap="round" transform="translate(790.1109886169435 373.6766691664809) rotate(0 172.5 30)"><path d="M0.14 0.04 C130.1 -0.84, 261.66 -0.28, 345.79 -0.66 M-0.56 0.51 C93.34 2.75, 186.37 2.27, 344.62 -0.62 M344.76 1.9 C346.63 20.79, 346.67 42.07, 344.59 60.03 M344.85 0.27 C344.68 23.58, 346.02 47.81, 345.77 59.79 M344.33 60.33 C245.9 60.84, 147.65 60.25, 0.24 60.33 M345.17 60.14 C236.29 61.32, 127.37 61.3, -0.47 59.57 M-0.5 58.86 C-2.03 44.68, -1.08 32.93, -1.04 -0.78 M-0.06 59.68 C-1.04 41.91, -0.98 22.65, -0.83 -0.38" stroke="#000000" stroke-width="1" fill="none"/></g><g transform="translate(795.1109886169435 391.1766691664809) rotate(0 167.5 12.5)"><text x="167.5" y="18" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr">sem_post(lwsCtx-&gt;syncCloseSem)</text></g><g transform="translate(981.1202922397191 647.4959871202681) rotate(0 79.5 25.5)"><text x="0" y="18.5" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#d9480f" text-anchor="start" style="white-space: pre;" direction="ltr">bug</text><text x="0" y="44" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#d9480f" text-anchor="start" style="white-space: pre;" direction="ltr">closeWsConnect?</text></g><g stroke-linecap="round" transform="translate(246.24042968093767 11.834065755208371) rotate(0 157.5 36.5)"><path d="M0.74 -0.55 C117.35 0.72, 232.08 -2.09, 315.28 -0.37 M0.65 -0.57 C79.51 -0.2, 159.58 -0.35, 314.39 0.36 M316.57 -0.22 C314.41 23.03, 314.76 44.81, 313.21 73.6 M314.71 -0.95 C314.51 17.63, 316.22 36.76, 315.97 72.11 M315.55 73.19 C211.38 70.73, 111.81 72, 0.34 74.12 M315.67 73.41 C196.99 72.93, 80.45 72.56, -0.05 73.48 M-0.27 73.47 C0.68 46.27, -0.07 21.06, -0.86 0.28 M0.15 72.21 C0.34 57.79, 0.08 41.78, 0.36 -0.87" stroke="#000000" stroke-width="1" fill="none"/></g><g transform="translate(251.24042968093767 35.83406575520837) rotate(0 152.5 12.5)"><text x="152.5" y="18" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr">AttachServe</text></g><g stroke-linecap="round" transform="translate(248.45200853448415 375.262651715959) rotate(0 157.5 28.5)"><path d="M1.13 1.41 C103.83 -0.53, 208.61 0.5, 314.33 -1.08 M-0.02 -0.47 C91.17 1.17, 180.71 2.14, 315.09 -0.29 M314.71 0.22 C315.51 16.31, 313.66 34.83, 314.06 58.2 M314.07 -0.85 C315.62 14.05, 315.81 27.63, 315.25 56.42 M313.65 56.83 C251.51 58.4, 185.66 58.43, 1.03 56.71 M314.37 56.9 C220.2 57.82, 124.97 58.77, 0.37 57.55 M1.24 55.98 C0.58 40.58, -0.78 25.45, -1.76 0.37 M0.48 57.26 C0.13 38.2, 0.27 19.08, 0.33 -0.71" stroke="#000000" stroke-width="1" fill="none"/></g><g stroke-linecap="round" transform="translate(205.55335047434153 157.70072557159972) rotate(0 208 56.5)"><path d="M212.48 -0.84 C278 17.85, 353.44 35.57, 413.34 56.57 M207.83 1.27 C287.87 20.97, 371.48 45.06, 415.29 57.01 M416.38 57.1 C336.09 74.54, 260.18 97.24, 211.1 111.25 M414.51 58.37 C358.62 70.52, 301.33 84.42, 207.99 111.35 M208.58 116.32 C140.83 91.4, 70.14 74.15, -0.72 57.05 M208.74 113.47 C124.91 87.56, 44.88 66.51, 1.35 56.64 M-1.77 57.87 C58.71 36.91, 119.92 19.03, 209.64 0.87 M0.45 57.36 C66.04 37.95, 130.76 19.97, 207.76 -1.15" stroke="#000000" stroke-width="1" fill="none"/></g><g transform="translate(210.55335047434153 189.20072557159972) rotate(0 203 25)"><text x="203" y="17" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr">get request by </text><text x="203" y="42" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr">token ?</text></g><g transform="translate(253.45200853448415 391.262651715959) rotate(0 152.5 12.5)"><text x="152.5" y="18" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr">earse</text></g><g s
\ No newline at end of file
diff --git a/docs/design/CRI/Websocket_UML.excalidraw.svg b/docs/design/CRI/Websocket_UML.excalidraw.svg
new file mode 100644
index 00000000..d1248c67
--- /dev/null
+++ b/docs/design/CRI/Websocket_UML.excalidraw.svg
@@ -0,0 +1,5 @@
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1491.429127757906 1633.002254252038" width="1491.429127757906" height="1633.002254252038" filter="invert(93%) hue-rotate(180deg)">
+ <!-- svg-source:excalidraw -->
+
+ <defs><style> @font-face {font-family: "Virgil";src: url("data:application/font-woff;charset=utf-8;base64,d09GMk9UVE8AAO9AAAkAAAABO1AAAO73AAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAADYTJHQZgAIluATYCJAOQWAQGBY9lByBbpzpxQ1QZOitEWvl1ExHg7NqqxsS6RlCwSkciyuhqMfv//89KOsZwUAeGmJXV32EeijNbRUcYuVUTmWNvG5FWRBfkAW4YWVueXU6tq9d0pZufMcACcUzc7AmXTyBwYmw0WojBScItqLq853lRPMu/i21F/1VrveHFeyj+LdHE3AfsFiWacmNotmSIhpJesVGSFIFWJDgsMxNmRIsQQzGF4rvOX33MPtY+LeOF490dgR0G/l0zmGbP8ku9beGBOf2+EcKFm8Md59ESM5GZKYtFok/F14jmMBPlbsKEWTmjIcDMVCgM0RQv1VD4IZddn+x6g2Ff91p6BriTOHYqRgBPP/Z8O3Pn/WXBXUTBKoZoSbZg6N3qwPP/937uvc+bD5huHSziTSgio5mQNpAsr235cGq9P8/r5vc1H/KatrSSHj8fGwzDhavuia24cMyBvutkjYQtKFtwTcS1wVWcODY7KMSFOM69OS/+4fm59f7vRf5FsY0aMXLQQgsGrRwggmTYYCJVEmVBm4V5Z0ThidFYPeyrtRKEoeme3dvtgT6iOeJnlC8MsAKKT0UoFD469oV+l7DD8pn6lvkVc++0kSEfkCM0Vauqh+RnHNszHtYIqREKELpb3S0eAhMvIXmB7+tkb9/wpNO+5fOjmT/aU+6YYwu6wVlib1xrbGxcwNgduqmiNNOESimjUWmogISEAOOOe086XjvNccGlpjQnb8gjOY3Gyr1sLlmavf8vKSIJwtUoBiEBfY1jpaqrq1ET/z2/7f+/4/hmD/yU4cZxDvyseBGJ7/W9rVwMSlAkJUsk6hzqQCsqJVbd9NbifX/4r6pJ4LDfsD5vl0a3Nl1TSqk09SUxpviFT9KCpj3jFmScMz4t9f8VWXkadd4bSR35QqxNH33Ai5BewBI5hQAbQsZFe2nQZ84A787uLKHXduwYMHUawjI9wuP+7R+jZdW/WpL3hdof92mkcoac8YBwj3gJB7CB3aayqzgrsSIikYrAZYK2u3l6AJfgdm+OybOvB8+JTFAi4hU026JOz7fHCxQujUCxVVutY8Wgje+dK4CA+afpvl+9Nyecky85rLBnngvwxHEpBa9ATSI+MxnxjMcbadI6LaWIPXHlOeusTrrDBkAFCAzMc6UTOFEFKTY1Nm4GuAPasdAah4+DcVmNg/pfU5Nao+e7QykouG0KYR4ewkKQVmtP1n91ike6Kvt60/WySWeBpeOKr7QCg0hoKAwgPPOvqrl+UPI78CqVirROp/RhKm2YMy0C6CJQdAHdBNBOBOmKyGuC5AZe6X1LKQUflBN+2M7DB2VHoBs/KOcRvCZQfn6i0lsdM5Ypw5otoyCn0UlftixbMiaTk2XKy5Q1Y17G2zJOB7nKUm0/PkgM7J3K/X5azIxlS8eShkmeIYrIIuvN47j+8Xk5xmbzq/fd0AYlB/aifvZu/3or31eH2eCosZNM23gKUvMyo25K7fx8x2ZRqLM4/xxLbOST4x/7aOuym35y8olHctP4b8V/TX/YCP2p/1mult99+Gj0u488j59Q7/DTaWN4EkPx7itzRBhgghZ7XPAiQJAIcTLMtFCJKku1WqHHWlvsst9xLnKDYR4xwicQZ7tG+knSE5NnLF69LLqrR0X89vtHVudoGtiw59gDkletTr9hov04IcNsWAhCFGnUMYNrWMA6cqigBQoCbHTgQRhxDOMAjuIkzuIyzuAybuEuHmMEbxC773VEWIigqlrWqT4NbHCjmtiM5nd+y1vXlq5ob9d1c/f3eC93qA/7pk6NEihFn0Rmmnk61thin7O8wilOc4krXGeGedbYJEaSKhN6GOUQD/IKz/ACr/IW7/ERn/Il3/ITf/B1//9y0DjoHH5x+M2hIRCCxhEpTKlFmUZcYipGDGMmFmBNbIBtYYfYXewxq9h9hvn6/vr3thQeZ+KUArHScmqorznNakXbKqkpSqIM+SLlVlB9GtJ+HdUZXdZZXdGQ7uuZ3uizfnlBkASHEFk57pwrbnvKU17wunOuGjNrxbYj2+1zj/u92yM+4fO+5gu+7jt+6Od+40+uMZH/QTH0f6P/F2WjGegMdD6aieagxWg5WoU2oG0oH5WhWgfrEB2GI+UoOOqOGcc5+Rat6/9k/8+mUCCeJiIC5sZapHx9QEX2IMLTPuIbQjZoyoY9XgDCc1CSUcEfzRVFJcPJ4YfarTTXnEEp9Fll4bmCyF6huXD0c2NkyBrUclqFDS0fCcldmnBxq5ZzUdjQ0hBhra3noZkdrY2QIXdtwDXbzuJpombNK3hcpdld/aaHaGW4yOQ0Uq2KuSpqqHgkIlXMSxG5hZWvipLO5Yja+dGe2Ec0Xl7hJVeLriry+vKRHMnapHSSWh3Na/r0xosnKF8vBiOnHHm02DmrmKh7JKa/6Kx4A1EGB5L5gPZja3EC36Px8gVmpEMfpVo7eKal3dCDQk3OQWrtEfywxsP7kXKdc+xllnS10CSorh6UNHRFJNThKpI3Uj12NefH5EBdrYWSRruZkfa+i7mL+aR7b+irdu+/Svdr602Xpz3AJtUl38juYpi/pk0HYWKZtRHy//WcNGHEROmgcepGC9vOyzGRY1+qfJxX8Ka4G2gxbNKvLqrqBjSlQRMYHTrDDGsYBjAs71XrIXW0LYetKxhHqGHoNTTSyi1NsvSW9pYPZAY4gkxWtrU0z9vbRMU08fOJQxc+Syy+gtk9G54gA+xj+zrZX5Y0rjZrdBmGy68X/sBnzCF5AdMtKp4mqPbyQez0lZGifaq47Tf7SIZExoiy9kkO2JjFGs8VnQMdK9nMR0/nKEUbGADCEcjocG6DUGjz+CoAhQFwBBIDEwuFxo4bN+++CUBhAAhHIDEwsVBobBxhCwAAwIcDAomBiYVCY+OISUAQBH0SBIEgCIIgCIKgcvQdCMIRSAy0MCC+M6Y5BcVI/gkYkMn8sRZzoj6jjymGesj9+I2a22/ocz8NNPA2C+fgZtOvbe7ZbLKKuW1NchzK6mJ1Pf/1IF9PGNzuWk+fWr5AJLsGbXx6WqXtz7Sw5sK/2TRigdQEnKWCSwHOJDBxwFWcy/MuPpBExwGTydS++B38ygHYhoswSGJKao0cwRU+cxa87AMKDql645JDKYO+5m4QVzcJ3y7stzuYTaZTHAbNHXHpPfKmuHugSHKiUk/ZPC/TXrC0xqt/dsGQ57sgXd3hs/6nDbLRY/DknG/yxVziZVz+ldwy0Iy6cNfv9o1UVPeO7SRI/Eej3M5tWU/0ydP7mv8W+vb7QPcr3ytNdXF9bro22Y7bj7Zf+/5e7C/73n67/xrB1Iy9URj6uDPOjzvj1fgeZsnDRCrKMR3LsR2VaAcbarhhDXcEIhLDcSROx6U4E5fjZgzHoxiJt3PJ9GZwpV151l4c+73B+fGXExniT6JM1AELXkAM6XgMP5YTZEIWvN+8x96yP86/HmkfeR30BDeCq6FruBPGwn1qRw26oBG6Ql8N9qqpBupSDaqaqtbOeqAPtE9H9a6ua4yag2bZtBiT0RqTSZtKYzeKbdmu2Fors26rtyFbtJX2mzudd3CO+7zBVdzBKraziKWsZzf7OcUPuIzfccG8beSYgWdMypiWsTBjeUZ2xraMHRl1GW0ZwgxVhjlDyrAzchn1jJlUWRX48WpiZWxuhR6qmw57kBDolGzsgvY89rhb7XvJzwQfY4+20SX4OtWreKpuSFaXlECpiOVamcv4JA4/x8nKhM2qKCxtMjn4oyulp5+2+DzPxYtYzPSoPf9Yvlvd4vcuYU3142xsRkmAfbwfK6ODt6039/4JpW8VEqlHIZIunBL+6JmzfHyE3o3mF33fTPtyd+kt8NrwT5yY3tXcECqX0RZRjsN416y3bBO8IjDJcPLMjeX3UFc4USotsE
+ <rect x="0" y="0" width="1491.429127757906" height="1633.002254252038" fill="#ffffff"/><g stroke-linecap="round" transform="translate(379.81889701901764 476.2109925924431) rotate(0 221 30)"><path d="M-0.72 0.01 C91.75 1.96, 183.73 1.18, 441.58 -0.38 M0.34 0.01 C101.21 -1.33, 202.45 -1.61, 441.56 0.25 M442.59 -0.31 C442.38 21.95, 442.73 43.36, 442.87 59.36 M441.51 -0.3 C441.76 23.2, 443.28 47.39, 442.55 60.97 M442.83 59.56 C302.91 57.5, 165.22 57.94, -0.17 60.88 M441.59 60.11 C337.8 58.36, 233.1 57.9, -0.12 60.06 M-1.61 59.67 C1.48 35.47, -0.64 12.37, -1.07 0.97 M0.23 59.7 C-0.41 47.49, -0.13 35.82, 0.63 0.56" stroke="#000000" stroke-width="1" fill="none"/></g><g transform="translate(519.85767723142 494.2109925924431) rotate(0 80.96121978759766 12)"><text x="80.96121978759766" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20.032837859012126px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">WebsocketServer</text></g><g stroke-linecap="round" transform="translate(380.7872866209518 537.0046966707521) rotate(0 221 55.5)"><path d="M-0.05 0.62 C105.9 -0.18, 211.08 -0.41, 441.29 0.62 M0.09 0.35 C166.58 0.02, 332.31 0.21, 442.37 0.43 M441.85 -0.49 C442.53 30.76, 443.2 63.94, 443.84 112.4 M441.34 -0.32 C442.32 33.7, 442.01 67.67, 442.14 111.73 M441.63 110.69 C354.18 110.16, 264.84 110.92, -0.63 111.65 M442.36 111.46 C351.93 111.48, 261.3 111.54, 0.42 110.97 M1.45 109.49 C0.23 76.83, -0.17 46.82, -1.96 0.01 M-0.4 110.62 C-0.38 69.43, 0.37 28.26, 0.59 -0.49" stroke="#000000" stroke-width="1" fill="none"/></g><g transform="translate(385.7872866209518 542.0046966707521) rotate(0 55.67334747314453 48)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20.032837859012126px" fill="#000000" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">+ Start</text><text x="0" y="24" font-family="Virgil, Segoe UI Emoji" font-size="20.032837859012126px" fill="#000000" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">+ Wait</text><text x="0" y="48" font-family="Virgil, Segoe UI Emoji" font-size="20.032837859012126px" fill="#000000" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">+ Shutdown</text><text x="0" y="72" font-family="Virgil, Segoe UI Emoji" font-size="20.032837859012126px" fill="#000000" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">+ ...</text></g><g stroke-linecap="round" transform="translate(717.2144868638175 1112.3170531985036) rotate(0 221 30)"><path d="M-0.34 0.64 C172.71 -0.19, 344.78 -0.12, 442.03 -0.68 M-0.12 -0.33 C139.46 1.41, 278.74 2.01, 441.68 0.04 M441.08 -0.05 C442.32 20.37, 441.24 37.56, 443.98 60.12 M442.66 -0.6 C442.61 23.77, 442.57 46.89, 442.57 59.42 M442.22 60.09 C312.88 59, 182.58 60.15, -0.86 60.95 M441.78 59.99 C282.83 59.73, 124.78 60.56, -0.49 59.93 M1.16 59.63 C-1.28 42.15, -1.07 19.96, 1.83 0.45 M-0.2 60.16 C0.01 39.43, 0.17 17.7, 0.22 -0.87" stroke="#000000" stroke-width="1" fill="none"/></g><g transform="translate(817.5538347031729 1118.3170531985036) rotate(0 120.66065216064453 24)"><text x="120.66065216064453" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20.032837859012126px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">StreamingServeInterface</text><text x="120.66065216064453" y="24" font-family="Virgil, Segoe UI Emoji" font-size="20.032837859012126px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">interface</text></g><g stroke-linecap="round" transform="translate(718.1828764657516 1173.1107572768126) rotate(0 221 32)"><path d="M-0.11 -0.78 C119.89 -2.11, 241.5 -2.08, 442.15 -0.18 M-0.01 -0.18 C100.3 1.85, 200.68 1.48, 442.06 -0.41 M442.81 1.67 C441.44 20.94, 443.69 41.68, 443.79 65.31 M442.21 0.39 C442.6 24.83, 442.99 48.83, 441.94 64.73 M442.87 63.39 C317.86 64.73, 191.
\ No newline at end of file
--
2.25.1