Add documentation

pull/560/head
Niels Andriesse 4 years ago
parent 3206ce380e
commit 34e630b5bf

@ -256,21 +256,27 @@ extension MessageReceiver {
// MARK: - Call Messages // MARK: - Call Messages
public static func handleCallMessage(_ message: CallMessage, using transaction: Any) { public static func handleCallMessage(_ message: CallMessage, using transaction: Any) {
let webRTCSession: WebRTCSession func getWebRTCSession() -> WebRTCSession {
if let current = WebRTCSession.current { let result: WebRTCSession
webRTCSession = current if let current = WebRTCSession.current {
} else { result = current
WebRTCSession.current = WebRTCSession(for: message.sender!) } else {
webRTCSession = WebRTCSession.current! WebRTCSession.current = WebRTCSession(for: message.sender!)
result = WebRTCSession.current!
}
return result
} }
switch message.kind! { switch message.kind! {
case .offer: case .offer:
print("[Calls] Received offer message.") print("[Calls] Received offer message.")
// Delegate to the main app, which is expected to show a dialog confirming
// that the user wants to pick up the call. When they do, the SDP contained
// in the offer message will be passed to WebRTCSession.handleRemoteSDP(_:from:).
handleOfferCallMessage?(message) handleOfferCallMessage?(message)
case .answer: case .answer:
print("[Calls] Received answer message.") print("[Calls] Received answer message.")
let sdp = RTCSessionDescription(type: .answer, sdp: message.sdps![0]) let sdp = RTCSessionDescription(type: .answer, sdp: message.sdps![0])
webRTCSession.handleRemoteSDP(sdp, from: message.sender!) getWebRTCSession().handleRemoteSDP(sdp, from: message.sender!)
case .provisionalAnswer: break // TODO: Implement case .provisionalAnswer: break // TODO: Implement
case let .iceCandidates(sdpMLineIndexes, sdpMids): case let .iceCandidates(sdpMLineIndexes, sdpMids):
var candidates: [RTCIceCandidate] = [] var candidates: [RTCIceCandidate] = []
@ -282,7 +288,7 @@ extension MessageReceiver {
let candidate = RTCIceCandidate(sdp: sdp, sdpMLineIndex: Int32(sdpMLineIndex), sdpMid: sdpMid) let candidate = RTCIceCandidate(sdp: sdp, sdpMLineIndex: Int32(sdpMLineIndex), sdpMid: sdpMid)
candidates.append(candidate) candidates.append(candidate)
} }
webRTCSession.handleICECandidates(candidates) getWebRTCSession().handleICECandidates(candidates)
} }
} }

Loading…
Cancel
Save