class_docstr: Used for compatibility across Tornado versions and to add write_lock
code: def __init__(self, socket: WebSocketClientConnection) -> None:
      self._socket = socket
      # write_lock allows us to lock the connection to send multiple
      # messages atomically.
      self.write_lock = locks.Lock()
  
file_path: bokeh/src/bokeh/client/websocket.py
imports: from __future__ import annotations
  import logging
  from typing import Any, Awaitable, Callable
  from tornado import locks
  from tornado.websocket import WebSocketClientConnection
label_desc: Use image node_id 1 to create a new WebSocketClientConnectionWrapper object  with example: obj = WebSocketClientConnectionWrapper(socket)