Structures

The following structures are available globally.

デフォルト値

CA 証明書解析

  • 転送フィルターのルールの設定です。

    See more

    Declaration

    Swift

    public struct ForwardingFilterRule : Encodable, Sendable
  • 転送フィルターに関する設定です。

    See more

    Declaration

    Swift

    public struct ForwardingFilter
    extension ForwardingFilter: Encodable
  • RPC エラー応答の詳細。

    See more

    Declaration

    Swift

    public struct RPCErrorDetail : Sendable
  • RPC 成功応答。

    See more

    Declaration

    Swift

    public struct RPCResponse<Result>
  • RPCResponse と同じ挙動を持つ、Swift 6 言語モードの検査に対応した RPC 成功応答。

    jsonrpc / id / result の意味、notification で nil が返ること、失敗時に SoraError が投げられることは RPCResponse と共通です。Result が Sendable な型で あれば、応答全体を actor 境界や Task の @Sendable closure を越えて受け渡せます (MediaChannel.sendableRPC(method:params:isNotificationRequest:timeout:) が返す型です)。

    Result へ Decodable を要求しないのは、decode が SendableRPCMethodProtocol.Result の 制約 (RPCMethodProtocol の Result: Decodable) で成立し、この型自身は値の保持だけを 担うためです。Result が Sendable でない場合は Sendable へ準拠できません。

    既存の RPCResponse の宣言と準拠は互換 API として変更していません。

    See more

    Declaration

    Swift

    public struct SendableRPCResponse<Result> : Sendable where Result : Sendable
  • RequestSimulcastRid のパラメータ。

    See more

    Declaration

    Swift

    public struct RequestSimulcastRidParams : Codable, Sendable
  • RequestSpotlightRid のパラメータ。

    See more

    Declaration

    Swift

    public struct RequestSpotlightRidParams : Codable, Sendable
  • ResetSpotlightRid のパラメータ。

    See more

    Declaration

    Swift

    public struct ResetSpotlightRidParams : Encodable, Sendable
  • PutSignalingNotifyMetadata のパラメータ。

    Metadata が Sendable の場合は Sendable へも準拠します。actor / Task 境界へ渡す場合は メソッド型に SendablePutSignalingNotifyMetadata を使ってください (既存の PutSignalingNotifyMetadata は Metadata に Sendable を要求しないため、 SendableRPCMethodProtocol の要件を満たすメソッド型に Metadata を固定できません)。

    See more

    Declaration

    Swift

    public struct PutSignalingNotifyMetadataParams<Metadata> : Encodable where Metadata : Encodable
    extension PutSignalingNotifyMetadataParams: Sendable where Metadata: Sendable
  • PutSignalingNotifyMetadataItem のパラメータ。

    Value が Sendable の場合は Sendable へも準拠します。actor / Task 境界へ渡す場合は メソッド型に SendablePutSignalingNotifyMetadataItem を使ってください (既存の PutSignalingNotifyMetadataItem は Value に Sendable を要求しないため、 SendableRPCMethodProtocol の要件を満たすメソッド型に Value を固定できません)。

    See more

    Declaration

    Swift

    public struct PutSignalingNotifyMetadataItemParams<Value> : Encodable where Value : Encodable
    extension PutSignalingNotifyMetadataItemParams: Sendable where Value: Sendable
  • RequestSimulcastRid の正常終了時の result。

    See more

    Declaration

    Swift

    public struct RequestSimulcastRidResult : Decodable, Sendable
  • RequestSpotlightRid の正常終了時の result。

    See more

    Declaration

    Swift

    public struct RequestSpotlightRidResult : Decodable, Sendable
  • ResetSpotlightRid の正常終了時の result。

    See more

    Declaration

    Swift

    public struct ResetSpotlightRidResult : Decodable, Sendable
  • 画面キャプチャの設定です。

    See more

    Declaration

    Swift

    public struct ScreenCaptureSettings
  • シグナリングに含まれる、同チャネルに接続中のクライアントに関するメタデータ (任意のデータ) を表します。

    See more

    Declaration

    Swift

    public struct SignalingNotifyMetadata
  • “connect” シグナリングメッセージを表します。 このメッセージはシグナリング接続の確立後、最初に送信されます。

    See more

    Declaration

    Swift

    public struct SignalingConnect
  • “offer” シグナリングメッセージを表します。 このメッセージは SDK が “connect” を送信した後に、サーバーから送信されます。

    See more

    Declaration

    Swift

    public struct SignalingOffer
  • “answer” シグナリングメッセージを表します。

    See more

    Declaration

    Swift

    public struct SignalingAnswer : Sendable
  • “candidate” シグナリングメッセージを表します。

    See more

    Declaration

    Swift

    public struct SignalingCandidate
  • “update” シグナリングメッセージを表します。 Sora 2022.1.0 で廃止されたため、現在は利用していません。

    See more

    Declaration

    Swift

    public struct SignalingUpdate : Sendable
  • “re-offer” メッセージ

    See more

    Declaration

    Swift

    public struct SignalingReOffer : Sendable
  • “re-answer” メッセージ

    See more

    Declaration

    Swift

    public struct SignalingReAnswer : Sendable
  • “push” シグナリングメッセージを表します。 このメッセージは Sora のプッシュ API を使用して送信されたデータです。

    See more

    Declaration

    Swift

    public struct SignalingPush
  • “switched” シグナリングメッセージを表します。

    See more

    Declaration

    Swift

    public struct SignalingSwitched : Sendable
    extension SignalingSwitched: Decodable
  • “redirect” シグナリングメッセージを表します。

    See more

    Declaration

    Swift

    public struct SignalingRedirect : Sendable
  • type: “close” シグナリングメッセージを表す Sora から受信するメッセージなのでエンコーダーは実装していない

    See more

    Declaration

    Swift

    public struct SignalingClose : Sendable
  • “notify” シグナリングメッセージを表します。

    See more

    Declaration

    Swift

    public struct SignalingNotify
  • “ping” シグナリングメッセージを表します。 このメッセージはサーバーから送信されます。 “ping” 受信後は一定時間内に “pong” を返さなければ、 サーバーとの接続が解除されます。

    Declaration

    Swift

    public struct SignalingPing : Sendable
  • “pong” シグナリングメッセージを表します。 このメッセージはサーバーから “ping” シグナリングメッセージを受信すると サーバーに送信されます。 “ping” 受信後、一定時間内にこのメッセージを返さなければ、 サーバーとの接続が解除されます。

    Declaration

    Swift

    public struct SignalingPong : Sendable
  • “disconnect” シグナリングメッセージを表します。

    See more

    Declaration

    Swift

    public struct SignalingDisconnect : Sendable
  • 購読 API が配送するイベントの種別です。

    enum ではなく RawRepresentable な struct にしています。SDK が将来イベント種別を追加した ときに、利用者が書いた網羅 switch が compile error にならないようにするためです (enum に case を追加すると、網羅 switch を書いている利用者の既存コードが build できなくなります)。 種別の判定は event.kind == .disconnected か、default を伴う switch で行います。

    See more

    Declaration

    Swift

    public struct SoraEventKind : RawRepresentable, Hashable, Sendable
  • Error を actor / Task 境界へ渡せるようにした snapshot です。

    Error の実体は Sendable であることを保証できないため、購読 API はエラーをこの値へ写して 配送します。元の Error は保持しません。

    domain と code は Error から NSError へのブリッジで得ます。domain はエラー型名、 code は enum の case の宣言順に依存するため、バージョン間で安定した識別子にはなりません。 message は localizedDescription のため locale に依存します。

    See more

    Declaration

    Swift

    public struct SoraEventError : Sendable, Equatable
  • 音声入出力ポートの snapshot です。

    AVFoundation の class をイベントへ直接載せないために、ポートの値を snapshot に写します。

    See more

    Declaration

    Swift

    public struct SoraAudioPortSnapshot : Sendable, Equatable
  • 音声入出力ルートの snapshot です。

    AVFoundation の class をイベントへ直接載せないために、入出力ポートの snapshot を持ちます。

    See more

    Declaration

    Swift

    public struct SoraAudioRouteSnapshot : Sendable, Equatable
  • 音声入出力ルートの変更イベントの payload です。

    See more

    Declaration

    Swift

    public struct SoraAudioRouteEvent : Sendable, Equatable
  • 購読 API が配送するイベントです。

    種別 (kind) ごとに、該当する property だけが設定されます。connected / connectFailed / disconnected は Sora の購読と MediaChannel の購読の両方で配送されるため、 配送元によって payload が異なります。

    種別 配送元 設定される payload
    .connected Sora / MediaChannel connectionId、transportEpoch
    .connectFailed Sora (設定エラー) error
    .connectFailed Sora / MediaChannel connectionId、transportEpoch、error
    .disconnected Sora connectionId、transportEpoch、error (エラーを伴う切断のみ)
    .disconnected MediaChannel connectionId、transportEpoch、closeEvent
    .mediaChannelAdded Sora transportEpoch (connectionId は接続前のため常に nil)
    .mediaChannelRemoved Sora connectionId、transportEpoch
    .audioRouteChanged Sora audioRoute
    .streamAdded / .streamRemoved MediaChannel connectionId、transportEpoch、streamId
    .videoEnabledChanged / .audioEnabledChanged MediaChannel connectionId、transportEpoch、streamId、isEnabled
    .signalingReceivedJSON MediaChannel connectionId (offer の処理前は nil)、transportEpoch、signalingJSON
    .dataChannelOpened MediaChannel connectionId、transportEpoch、dataChannelLabel
    .dataChannelAvailable MediaChannel connectionId、transportEpoch
    .dataChannelMessage MediaChannel connectionId、transportEpoch、dataChannelLabel、dataChannelMessage

    接続 ID は offer を処理した時点で確定するため、offer の処理前に終端した接続のイベント (.connectFailed / .disconnected / .mediaChannelRemoved) は connectionId が nil に なります。.transportEpoch は接続に紐づかないイベント (.audioRouteChanged と、設定エラーの .connectFailed) で nil になります。

    payload には mutable な MediaChannel / MediaStream / raw WebRTC object を含めません。 すべて値として確定するため、配送後も購読者が保持できます (元の object の寿命に依存しません)。

    See more

    Declaration

    Swift

    public struct SoraEvent : Sendable

snapshot

  • WebRTC の統計情報を actor / Task 境界へ渡せるようにした、immutable で deep Sendable な snapshot です。

    Statistics と property の名前と構成を揃えていますが、値は JSONValue で保持するため Objective-C の object graph (NSObject / NSDictionary / NSArray / Any) を含みません。 Statistics.jsonObject に相当する property は持ちません (values の JSONValue が Encodable の ため、必要に応じて利用者が直列化します)。 Statistics の instance を写したものではなく、RTCPeerConnection.statistics の完了 block で RTCStatisticsReport から直接変換します (Statistics を経由しません)。 MediaChannel.getStatsSnapshot(handler:) が handler へ渡し、MediaChannel.getStatsSnapshot() が 返します。値を組み立てる public な init は持ちません (SDK が生成した値を読むための型です)。

    See more

    Declaration

    Swift

    public struct StatisticsSnapshot : Sendable
  • 単一の WebRTC 統計エントリーを actor / Task 境界へ渡せるようにした、immutable で deep Sendable な snapshot です。

    StatisticsEntry と property の名前を揃え、values だけを [String: JSONValue] に変えています。

    See more

    Declaration

    Swift

    public struct StatisticsEntrySnapshot : Sendable
  • メディア制約を表します。

    See more

    Declaration

    Swift

    public struct MediaConstraints : Sendable
  • WebRTC に関する設定です。

    See more

    Declaration

    Swift

    public struct WebRTCConfiguration