Skip to content
Snippets Groups Projects
Channel.swift 1.06 KiB
import Bindings

public struct Channel {
  public var broadcast: ChannelBroadcast
  public var broadcastAsymmetric: ChannelBroadcastAsymmetric
  public var get: ChannelGet
  public var listen: ChannelListen
  public var maxAsymmetricPayloadSize: ChannelMaxAsymmetricPayloadSize
  public var maxPayloadSize: ChannelMaxPayloadSize
  public var stop: ChannelStop
}

extension Channel {
  public static func live(_ bindingsChannel: BindingsChannel) -> Channel {
    Channel(
      broadcast: .live(bindingsChannel),
      broadcastAsymmetric: .live(bindingsChannel),
      get: .live(bindingsChannel),
      listen: .live(bindingsChannel),
      maxAsymmetricPayloadSize: .live(bindingsChannel),
      maxPayloadSize: .live(bindingsChannel),
      stop: .live(bindingsChannel)
    )
  }
}

extension Channel {
  public static let unimplemented = Channel(
    broadcast: .unimplemented,
    broadcastAsymmetric: .unimplemented,
    get: .unimplemented,
    listen: .unimplemented,
    maxAsymmetricPayloadSize: .unimplemented,
    maxPayloadSize: .unimplemented,
    stop: .unimplemented
  )
}