public BaseIOSConnection(IonCBCentralManagerDelegate centralDelegate, CBPeripheral peripheral)
        {
            this.centralDelegate = centralDelegate;
            device = peripheral;
            name   = peripheral.Name;
            peripheral.Delegate = this;

            connectionState   = EConnectionState.Disconnected;
            connectionTimeout = TimeSpan.FromMilliseconds(45 * 1000);

            centralDelegate.onDeviceConnected += (obj) => {
                OnConnected();
            };
            handler = DispatchQueue.MainQueue;
            locker  = new object();
        }
 /// <summary>
 /// Creates a new iOS connection wrapper.
 /// </summary>
 /// <param name="centeralManager">Centeral manager.</param>
 /// <param name="peripheral">Peripheral.</param>
 public IosLeConnection(IonCBCentralManagerDelegate centralManager, CBPeripheral peripheral) : base(centralManager, peripheral)
 {
     connectionState   = EConnectionState.Disconnected;
     connectionTimeout = TimeSpan.FromMilliseconds(45 * 1000);
 }