diff options
author | Dico <dico.karssiens@gmail.com> | 2018-08-02 18:22:36 +0100 |
---|---|---|
committer | Dico <dico.karssiens@gmail.com> | 2018-08-02 18:22:36 +0100 |
commit | 0af2e615d3fa1d8509be46e14f99d40dc9cdb342 (patch) | |
tree | 3864043218969a67b5df17784a05c6af424e3617 /src/main/kotlin/io/dico/parcels2/storage/Backing.kt | |
parent | 6513ad9237dbda0244a52608ae639fee5822b3ee (diff) |
Refactor and improve a lot of the API. Move default implementations into a package. Reformatting.
Diffstat (limited to 'src/main/kotlin/io/dico/parcels2/storage/Backing.kt')
-rw-r--r-- | src/main/kotlin/io/dico/parcels2/storage/Backing.kt | 31 |
1 files changed, 14 insertions, 17 deletions
diff --git a/src/main/kotlin/io/dico/parcels2/storage/Backing.kt b/src/main/kotlin/io/dico/parcels2/storage/Backing.kt index 7224dd1..88ee5fd 100644 --- a/src/main/kotlin/io/dico/parcels2/storage/Backing.kt +++ b/src/main/kotlin/io/dico/parcels2/storage/Backing.kt @@ -1,11 +1,8 @@ package io.dico.parcels2.storage -import io.dico.parcels2.AddedStatus -import io.dico.parcels2.Parcel -import io.dico.parcels2.ParcelData -import io.dico.parcels2.ParcelOwner -import kotlinx.coroutines.experimental.channels.ProducerScope -import java.util.* +import io.dico.parcels2.* +import kotlinx.coroutines.experimental.channels.SendChannel +import java.util.UUID interface Backing { @@ -22,31 +19,31 @@ interface Backing { * This producer function is capable of constantly reading parcels from a potentially infinite sequence, * and provide parcel data for it as read from the database. */ - suspend fun ProducerScope<Pair<Parcel, ParcelData?>>.produceParcelData(parcels: Sequence<Parcel>) + suspend fun produceParcelData(channel: SendChannel<DataPair>, parcels: Sequence<ParcelId>) - suspend fun ProducerScope<Pair<SerializableParcel, ParcelData?>>.produceAllParcelData() + suspend fun produceAllParcelData(channel: SendChannel<DataPair>) - suspend fun readParcelData(parcelFor: Parcel): ParcelData? + suspend fun readParcelData(parcel: ParcelId): ParcelData? - suspend fun getOwnedParcels(user: ParcelOwner): List<SerializableParcel> + suspend fun getOwnedParcels(user: ParcelOwner): List<ParcelId> suspend fun getNumParcels(user: ParcelOwner): Int = getOwnedParcels(user).size - suspend fun setParcelData(parcelFor: Parcel, data: ParcelData?) + suspend fun setParcelData(parcel: ParcelId, data: ParcelData?) - suspend fun setParcelOwner(parcelFor: Parcel, owner: ParcelOwner?) + suspend fun setParcelOwner(parcel: ParcelId, owner: ParcelOwner?) - suspend fun setLocalPlayerStatus(parcelFor: Parcel, player: UUID, status: AddedStatus) + suspend fun setLocalPlayerStatus(parcel: ParcelId, player: UUID, status: AddedStatus) - suspend fun setParcelAllowsInteractInventory(parcel: Parcel, value: Boolean) + suspend fun setParcelAllowsInteractInventory(parcel: ParcelId, value: Boolean) - suspend fun setParcelAllowsInteractInputs(parcel: Parcel, value: Boolean) + suspend fun setParcelAllowsInteractInputs(parcel: ParcelId, value: Boolean) - suspend fun ProducerScope<Pair<ParcelOwner, MutableMap<UUID, AddedStatus>>>.produceAllGlobalAddedData() + suspend fun produceAllGlobalAddedData(channel: SendChannel<AddedDataPair<ParcelOwner>>) - suspend fun readGlobalAddedData(owner: ParcelOwner): MutableMap<UUID, AddedStatus> + suspend fun readGlobalAddedData(owner: ParcelOwner): MutableAddedDataMap suspend fun setGlobalPlayerStatus(owner: ParcelOwner, player: UUID, status: AddedStatus) |