mirror of
https://github.com/SideStore/SideStore.git
synced 2026-02-18 19:23:43 +01:00
Merge pull request #189 from Nythepegasus/feature/retries
Add various retries throughout the Rust function calls
This commit is contained in:
@@ -146,7 +146,13 @@ class LaunchViewController: RSTLaunchViewController, UIDocumentPickerDelegate
|
|||||||
|
|
||||||
func start_minimuxer_threads(_ pairing_file: String) {
|
func start_minimuxer_threads(_ pairing_file: String) {
|
||||||
set_usbmuxd_socket()
|
set_usbmuxd_socket()
|
||||||
let res = start_minimuxer(pairing_file: pairing_file)
|
var res = start_minimuxer(pairing_file: pairing_file)
|
||||||
|
var attempts = 10
|
||||||
|
while (attempts != 0 && res != 0) {
|
||||||
|
print("start_minimuxer `res` != 0, retry #\(attempts)")
|
||||||
|
res = start_minimuxer(pairing_file: pairing_file)
|
||||||
|
attempts -= 1
|
||||||
|
}
|
||||||
if res != 0 {
|
if res != 0 {
|
||||||
displayError("minimuxer failed to start. Incorrect arguments were passed.")
|
displayError("minimuxer failed to start. Incorrect arguments were passed.")
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -51,7 +51,13 @@ class SendAppOperation: ResultOperation<()>
|
|||||||
for (index, data) in data.enumerated() {
|
for (index, data) in data.enumerated() {
|
||||||
pls[index] = data
|
pls[index] = data
|
||||||
}
|
}
|
||||||
|
var attempts = 10
|
||||||
let res = minimuxer_yeet_app_afc(ns_bundle_ptr, pls, UInt(data.length))
|
let res = minimuxer_yeet_app_afc(ns_bundle_ptr, pls, UInt(data.length))
|
||||||
|
while (attempts != 0 && res != 0){
|
||||||
|
print("minimuxer_yeet_app_afc `res` != 0, retry #\(attempts)")
|
||||||
|
let res = minimuxer_yeet_app_afc(ns_bundle_ptr, pls, UInt(data.length))
|
||||||
|
attempts -= 1
|
||||||
|
}
|
||||||
if res == 0 {
|
if res == 0 {
|
||||||
self.progress.completedUnitCount += 1
|
self.progress.completedUnitCount += 1
|
||||||
self.finish(.success(()))
|
self.finish(.success(()))
|
||||||
|
|||||||
@@ -27,7 +27,13 @@ public func set_usbmuxd_socket() {
|
|||||||
public func debug_app(app_id: String) throws -> Uhoh {
|
public func debug_app(app_id: String) throws -> Uhoh {
|
||||||
let ai = NSString(string: app_id)
|
let ai = NSString(string: app_id)
|
||||||
let ai_pointer = UnsafeMutablePointer<CChar>(mutating: ai.utf8String)
|
let ai_pointer = UnsafeMutablePointer<CChar>(mutating: ai.utf8String)
|
||||||
let res = minimuxer_debug_app(ai_pointer)
|
var res = minimuxer_debug_app(ai_pointer)
|
||||||
|
var attempts = 10
|
||||||
|
while (attempts != 0 && res != 0) {
|
||||||
|
print("(JIT) ATTEMPTS: \(attempts)")
|
||||||
|
res = minimuxer_debug_app(ai_pointer)
|
||||||
|
attempts -= 1
|
||||||
|
}
|
||||||
if res != 0 {
|
if res != 0 {
|
||||||
throw Uhoh.Bad(code: res)
|
throw Uhoh.Bad(code: res)
|
||||||
}
|
}
|
||||||
@@ -39,7 +45,13 @@ public func install_provisioning_profile(plist: Data) throws -> Uhoh {
|
|||||||
print(pls)
|
print(pls)
|
||||||
print(plist)
|
print(plist)
|
||||||
let x = plist.withUnsafeBytes { buf in UnsafeMutableRawPointer(mutating: buf) }
|
let x = plist.withUnsafeBytes { buf in UnsafeMutableRawPointer(mutating: buf) }
|
||||||
let res = minimuxer_install_provisioning_profile(x, UInt32(plist.count))
|
var res = minimuxer_install_provisioning_profile(x, UInt32(plist.count))
|
||||||
|
var attempts = 10
|
||||||
|
while (attempts != 0 && res != 0) {
|
||||||
|
print("(INSTALL) ATTEMPTS: \(attempts)")
|
||||||
|
res = minimuxer_install_provisioning_profile(x, UInt32(plist.count))
|
||||||
|
attempts -= 1
|
||||||
|
}
|
||||||
if res != 0 {
|
if res != 0 {
|
||||||
throw Uhoh.Bad(code: res)
|
throw Uhoh.Bad(code: res)
|
||||||
}
|
}
|
||||||
@@ -49,7 +61,13 @@ public func install_provisioning_profile(plist: Data) throws -> Uhoh {
|
|||||||
public func remove_provisioning_profile(id: String) throws -> Uhoh {
|
public func remove_provisioning_profile(id: String) throws -> Uhoh {
|
||||||
let id_ns = NSString(string: id)
|
let id_ns = NSString(string: id)
|
||||||
let id_pointer = UnsafeMutablePointer<CChar>(mutating: id_ns.utf8String)
|
let id_pointer = UnsafeMutablePointer<CChar>(mutating: id_ns.utf8String)
|
||||||
let res = minimuxer_remove_provisioning_profile(id_pointer)
|
var res = minimuxer_remove_provisioning_profile(id_pointer)
|
||||||
|
var attempts = 10
|
||||||
|
while (attempts != 0 && res != 0) {
|
||||||
|
print("(REMOVE PROFILE) ATTEMPTS: \(attempts)")
|
||||||
|
res = minimuxer_remove_provisioning_profile(id_pointer)
|
||||||
|
attempts -= 1
|
||||||
|
}
|
||||||
if res != 0 {
|
if res != 0 {
|
||||||
throw Uhoh.Bad(code: res)
|
throw Uhoh.Bad(code: res)
|
||||||
}
|
}
|
||||||
@@ -59,7 +77,13 @@ public func remove_provisioning_profile(id: String) throws -> Uhoh {
|
|||||||
public func remove_app(app_id: String) throws -> Uhoh {
|
public func remove_app(app_id: String) throws -> Uhoh {
|
||||||
let ai = NSString(string: app_id)
|
let ai = NSString(string: app_id)
|
||||||
let ai_pointer = UnsafeMutablePointer<CChar>(mutating: ai.utf8String)
|
let ai_pointer = UnsafeMutablePointer<CChar>(mutating: ai.utf8String)
|
||||||
let res = minimuxer_remove_app(ai_pointer)
|
var res = minimuxer_remove_app(ai_pointer)
|
||||||
|
var attempts = 10
|
||||||
|
while (attempts != 0 && res != 0) {
|
||||||
|
print("(REMOVE APP) ATTEMPTS: \(attempts)")
|
||||||
|
res = minimuxer_remove_app(ai_pointer)
|
||||||
|
attempts -= 1
|
||||||
|
}
|
||||||
if res != 0 {
|
if res != 0 {
|
||||||
throw Uhoh.Bad(code: res)
|
throw Uhoh.Bad(code: res)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user