code: def run(self) -> None:
      while not self._stopped.is_set():
          try:
              sreq = self._sock_client.read_server_request()
          except SockClientClosedError:
              # socket has been closed
              # TODO: shut down other threads serving this socket?
              break
          assert sreq, "read_server_request should never timeout"
          sreq_type = sreq.WhichOneof("server_request_type")
          shandler_str = "server_" + sreq_type  # type: ignore
          shandler: Callable[[spb.ServerRequest], None] = getattr(  # type: ignore
              self, shandler_str, None
          )
          assert shandler, f"unknown handle: {shandler_str}"  # type: ignore
          shandler(sreq)
  
imports: import queue
  import socket
  import threading
  import time
  from typing import TYPE_CHECKING, Any, Callable, Dict, Optional
  from wandb.proto import wandb_server_pb2
  from wandb.sdk.internal.settings_static import SettingsStatic
  from ..lib import tracelog
  from ..lib.sock_client import SockClient, SockClientClosedError
  from .streams import StreamMux
label_desc: Use image node_id 2 for calling the SockServerReadThread obj's underlying member method code with example usage: obj.run() without return types