blob: 050789696e76709825caf35762560b4883e04d74 [file] [log] [blame]
// Copyright 2016 The Vanadium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
import Foundation
public enum SyncbaseError: ErrorType, CustomStringConvertible {
case NotInDevMode
case UnknownBatch
case NotBoundToBatch
case ReadOnlyBatch
case ConcurrentBatch
case BlobNotCommitted
case SyncgroupJoinFailed
case BadExecStreamHeader
case InvalidName(name: String)
case CorruptDatabase(path: String)
public var description: String {
switch (self) {
case NotInDevMode: return "not running with --dev=true"
case UnknownBatch: return "unknown batch, perhaps the server restarted"
case NotBoundToBatch: return "not bound to batch"
case ReadOnlyBatch: return "batch is read-only"
case ConcurrentBatch: return "concurrent batch"
case BlobNotCommitted: return "blob is not yet committed"
case SyncgroupJoinFailed: return "syncgroup join failed"
case BadExecStreamHeader: return "Exec stream header improperly formatted"
case InvalidName(let name): return "invalid name: \(name)"
case CorruptDatabase(let path):
return "database corrupt, moved to path \(path); client must create a new database"
}
}
}