Skip to content
Snippets Groups Projects
Select Git revision
  • a6a0ef7b4e91bf1e23c27cf4fd27b4682d4f9890
  • main default protected
  • development
  • integration
  • v1.1.5
  • v1.1.4
  • v1.1.3
  • v1.1.2
  • v1.1.1
  • v1.1.0
  • v1.0.0
11 results

MessengerStart.swift

Blame
  • MessengerStart.swift 772 B
    import XXClient
    import XCTestDynamicOverlay
    
    public struct MessengerStart {
      public enum Error: Swift.Error {
        case notLoaded
      }
    
      public var run: (Int) throws -> Void
    
      public func callAsFunction(
        timeoutMS: Int = 30_000
      ) throws {
        try run(timeoutMS)
      }
    }
    
    extension MessengerStart {
      public static func live(_ env: MessengerEnvironment) -> MessengerStart {
        MessengerStart { timeoutMS in
          guard let cMix = env.cMix() else {
            throw Error.notLoaded
          }
          guard cMix.networkFollowerStatus() != .running else {
            return
          }
          try cMix.startNetworkFollower(timeoutMS: timeoutMS)
        }
      }
    }
    
    extension MessengerStart {
      public static let unimplemented = MessengerStart(
        run: XCTUnimplemented("\(Self.self)")
      )
    }