jamtur01's picture
Upload folder using huggingface_hub
9c6594c verified
"""InterfaceSock - Derived from InterfaceShared using a socket to send to internal thread.
See interface.py for how interface classes relate to each other.
"""
import logging
from typing import TYPE_CHECKING, Any, Optional
from wandb.sdk.mailbox import Mailbox
from ..lib.sock_client import SockClient
from .interface_shared import InterfaceShared
if TYPE_CHECKING:
from wandb.proto import wandb_internal_pb2 as pb
logger = logging.getLogger("wandb")
class InterfaceSock(InterfaceShared):
def __init__(
self,
sock_client: SockClient,
mailbox: Mailbox,
stream_id: str,
) -> None:
super().__init__(mailbox=mailbox)
self._sock_client = sock_client
self._stream_id = stream_id
def _assign(self, record: Any) -> None:
assert self._stream_id
record._info.stream_id = self._stream_id
def _publish(self, record: "pb.Record", local: Optional[bool] = None) -> None:
self._assign(record)
self._sock_client.send_record_publish(record)