Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.
 
 

1 wiersz
6.8 KiB

  1. {"schemaVersion":{"minor":3,"patch":0,"major":0},"abstract":[{"type":"text","text":"Handles WebSocket events."}],"identifier":{"url":"doc:\/\/rpm.com.production.Scanner\/documentation\/Fueling\/WebSocketViewModel\/didReceive(event:client:)","interfaceLanguage":"swift"},"kind":"symbol","sections":[],"hierarchy":{"paths":[["doc:\/\/rpm.com.production.Scanner\/documentation\/Fueling","doc:\/\/rpm.com.production.Scanner\/documentation\/Fueling\/WebSocketViewModel"]]},"metadata":{"externalID":"s:7Fueling18WebSocketViewModelC10didReceive5event6clienty10Starscream0bC5EventO_AG0bC6Client_ptF","title":"didReceive(event:client:)","fragments":[{"kind":"keyword","text":"func"},{"text":" ","kind":"text"},{"kind":"identifier","text":"didReceive"},{"kind":"text","text":"("},{"text":"event","kind":"externalParam"},{"text":": Starscream","kind":"text"},{"text":".","kind":"text"},{"kind":"typeIdentifier","text":"WebSocketEvent","preciseIdentifier":"s:10Starscream14WebSocketEventO"},{"text":", ","kind":"text"},{"kind":"externalParam","text":"client"},{"kind":"text","text":": Starscream"},{"text":".","kind":"text"},{"kind":"typeIdentifier","preciseIdentifier":"s:10Starscream15WebSocketClientP","text":"WebSocketClient"},{"kind":"text","text":")"}],"roleHeading":"Instance Method","modules":[{"name":"Fueling"}],"symbolKind":"method","role":"symbol"},"primaryContentSections":[{"declarations":[{"platforms":["iOS"],"tokens":[{"text":"func","kind":"keyword"},{"text":" ","kind":"text"},{"text":"didReceive","kind":"identifier"},{"text":"(","kind":"text"},{"text":"event","kind":"externalParam"},{"kind":"text","text":": Starscream"},{"text":".","kind":"text"},{"kind":"typeIdentifier","preciseIdentifier":"s:10Starscream14WebSocketEventO","text":"WebSocketEvent"},{"kind":"text","text":", "},{"kind":"externalParam","text":"client"},{"text":": Starscream","kind":"text"},{"kind":"text","text":"."},{"text":"WebSocketClient","preciseIdentifier":"s:10Starscream15WebSocketClientP","kind":"typeIdentifier"},{"kind":"text","text":")"}],"languages":["swift"]}],"kind":"declarations"},{"kind":"parameters","parameters":[{"name":"event","content":[{"inlineContent":[{"type":"text","text":"The WebSocket event received."}],"type":"paragraph"}]},{"content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"The WebSocket client that received the event."}]}],"name":"client"}]},{"content":[{"level":2,"text":"Discussion","anchor":"discussion","type":"heading"},{"type":"paragraph","inlineContent":[{"type":"text","text":"This method processes events received from the WebSocket server and updates the application state accordingly."}]},{"code":["func didReceive(event: Starscream.WebSocketEvent, client: Starscream.WebSocketClient) {"," DispatchQueue.main.async {"," switch event {"," case .connected(let headers):"," self.isConnected = true"," print(\"websocket is connected: \\(headers)\")"," case .disconnected(let reason, let code):"," self.socket.connect()"," self.isConnected = false"," print(\"websocket is disconnected: \\(reason) with code: \\(code)\")"," case .text(let string):"," print(\"Received text: \\(string)\")"," let payload = string.split(separator: \";\", maxSplits: 127, omittingEmptySubsequences: false)"," if payload[0] == \"i\" {"," self.handleInformationFrame(payload: payload)"," } else {"," self.setupTankValues(payload: payload)"," }"," self.socket.write(string: \">OK;\\(self.dateInSeconds())\")"," self.acknowledgementTimer?.cancel()"," case .binary(let data):"," print(\"Received data: \\(data.count)\")"," case .ping(_):"," break"," case .pong(_):"," break"," case .viabilityChanged(_):"," break"," case .reconnectSuggested(_):"," break"," case .cancelled:"," self.isConnected = false"," case .error(let error):"," self.isConnected = false"," self.handleError(error)"," case .peerClosed:"," self.isConnected = false"," }"," }","}"],"syntax":"swift","type":"codeListing"}],"kind":"content"}],"variants":[{"traits":[{"interfaceLanguage":"swift"}],"paths":["\/documentation\/fueling\/websocketviewmodel\/didreceive(event:client:)"]}],"references":{"doc://rpm.com.production.Scanner/documentation/Fueling/WebSocketViewModel/didReceive(event:client:)":{"identifier":"doc:\/\/rpm.com.production.Scanner\/documentation\/Fueling\/WebSocketViewModel\/didReceive(event:client:)","url":"\/documentation\/fueling\/websocketviewmodel\/didreceive(event:client:)","title":"didReceive(event:client:)","kind":"symbol","fragments":[{"text":"func","kind":"keyword"},{"kind":"text","text":" "},{"kind":"identifier","text":"didReceive"},{"text":"(","kind":"text"},{"text":"event","kind":"externalParam"},{"text":": Starscream","kind":"text"},{"kind":"text","text":"."},{"preciseIdentifier":"s:10Starscream14WebSocketEventO","kind":"typeIdentifier","text":"WebSocketEvent"},{"kind":"text","text":", "},{"kind":"externalParam","text":"client"},{"kind":"text","text":": Starscream"},{"text":".","kind":"text"},{"preciseIdentifier":"s:10Starscream15WebSocketClientP","kind":"typeIdentifier","text":"WebSocketClient"},{"text":")","kind":"text"}],"role":"symbol","abstract":[{"text":"Handles WebSocket events.","type":"text"}],"type":"topic"},"doc://rpm.com.production.Scanner/documentation/Fueling":{"kind":"symbol","url":"\/documentation\/fueling","title":"Fueling","identifier":"doc:\/\/rpm.com.production.Scanner\/documentation\/Fueling","abstract":[{"type":"text","text":"The Scanner app is designed to facilitate secure and efficient fuel management operations, primarily focusing on user authentication, fuel data collection, and network communication. The app includes several key features to ensure seamless and reliable interactions between users and the backend systems, leveraging technologies like WebSockets, Core Data, and biometric authentication."}],"type":"topic","role":"collection"},"doc://rpm.com.production.Scanner/documentation/Fueling/WebSocketViewModel":{"kind":"symbol","role":"symbol","fragments":[{"kind":"keyword","text":"class"},{"text":" ","kind":"text"},{"kind":"identifier","text":"WebSocketViewModel"}],"navigatorTitle":[{"kind":"identifier","text":"WebSocketViewModel"}],"abstract":[{"text":"The ","type":"text"},{"type":"codeVoice","code":"WebSocketViewModel"},{"type":"text","text":" class is responsible for managing WebSocket connections, handling messages, and updating application state based on WebSocket events."}],"url":"\/documentation\/fueling\/websocketviewmodel","type":"topic","identifier":"doc:\/\/rpm.com.production.Scanner\/documentation\/Fueling\/WebSocketViewModel","title":"WebSocketViewModel"}}}