Add magix message registry service
This commit is contained in:
parent
583fe5b54c
commit
ce03540b37
15
README.md
15
README.md
@ -53,11 +53,6 @@ Example view of a demo:
|
|||||||
> - [deviceHub](controls-core/src/commonMain/kotlin/space/kscience/controls/api/DeviceHub.kt) : Grouping of devices into local tree-like hubs.
|
> - [deviceHub](controls-core/src/commonMain/kotlin/space/kscience/controls/api/DeviceHub.kt) : Grouping of devices into local tree-like hubs.
|
||||||
|
|
||||||
|
|
||||||
### [controls-ktor-tcp](controls-ktor-tcp)
|
|
||||||
>
|
|
||||||
>
|
|
||||||
> **Maturity**: EXPERIMENTAL
|
|
||||||
|
|
||||||
### [controls-magix-client](controls-magix-client)
|
### [controls-magix-client](controls-magix-client)
|
||||||
>
|
>
|
||||||
>
|
>
|
||||||
@ -73,6 +68,16 @@ Example view of a demo:
|
|||||||
>
|
>
|
||||||
> **Maturity**: EXPERIMENTAL
|
> **Maturity**: EXPERIMENTAL
|
||||||
|
|
||||||
|
### [controls-pi](controls-pi)
|
||||||
|
>
|
||||||
|
>
|
||||||
|
> **Maturity**: EXPERIMENTAL
|
||||||
|
|
||||||
|
### [controls-ports-ktor](controls-ports-ktor)
|
||||||
|
>
|
||||||
|
>
|
||||||
|
> **Maturity**: EXPERIMENTAL
|
||||||
|
|
||||||
### [controls-serial](controls-serial)
|
### [controls-serial](controls-serial)
|
||||||
>
|
>
|
||||||
>
|
>
|
||||||
|
@ -6,7 +6,7 @@ Magix service for binding controls devices (both as RPC client and server
|
|||||||
|
|
||||||
## Artifact:
|
## Artifact:
|
||||||
|
|
||||||
The Maven coordinates of this project are `space.kscience:controls-magix-client:0.1.1-SNAPSHOT`.
|
The Maven coordinates of this project are `space.kscience:controls-magix-client:0.2.0-dev-2`.
|
||||||
|
|
||||||
**Gradle Groovy:**
|
**Gradle Groovy:**
|
||||||
```groovy
|
```groovy
|
||||||
@ -16,7 +16,7 @@ repositories {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation 'space.kscience:controls-magix-client:0.1.1-SNAPSHOT'
|
implementation 'space.kscience:controls-magix-client:0.2.0-dev-2'
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
**Gradle Kotlin DSL:**
|
**Gradle Kotlin DSL:**
|
||||||
@ -27,6 +27,6 @@ repositories {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation("space.kscience:controls-magix-client:0.1.1-SNAPSHOT")
|
implementation("space.kscience:controls-magix-client:0.2.0-dev-2")
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
@ -2,3 +2,31 @@
|
|||||||
|
|
||||||
A plugin for Controls-kt device server on top of modbus-rtu/modbus-tcp protocols
|
A plugin for Controls-kt device server on top of modbus-rtu/modbus-tcp protocols
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
## Artifact:
|
||||||
|
|
||||||
|
The Maven coordinates of this project are `space.kscience:controls-modbus:0.2.0-dev-2`.
|
||||||
|
|
||||||
|
**Gradle Groovy:**
|
||||||
|
```groovy
|
||||||
|
repositories {
|
||||||
|
maven { url 'https://repo.kotlin.link' }
|
||||||
|
mavenCentral()
|
||||||
|
}
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
implementation 'space.kscience:controls-modbus:0.2.0-dev-2'
|
||||||
|
}
|
||||||
|
```
|
||||||
|
**Gradle Kotlin DSL:**
|
||||||
|
```kotlin
|
||||||
|
repositories {
|
||||||
|
maven("https://repo.kotlin.link")
|
||||||
|
mavenCentral()
|
||||||
|
}
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
implementation("space.kscience:controls-modbus:0.2.0-dev-2")
|
||||||
|
}
|
||||||
|
```
|
||||||
|
@ -2,3 +2,31 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
## Artifact:
|
||||||
|
|
||||||
|
The Maven coordinates of this project are `space.kscience:controls-opcua:0.2.0-dev-2`.
|
||||||
|
|
||||||
|
**Gradle Groovy:**
|
||||||
|
```groovy
|
||||||
|
repositories {
|
||||||
|
maven { url 'https://repo.kotlin.link' }
|
||||||
|
mavenCentral()
|
||||||
|
}
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
implementation 'space.kscience:controls-opcua:0.2.0-dev-2'
|
||||||
|
}
|
||||||
|
```
|
||||||
|
**Gradle Kotlin DSL:**
|
||||||
|
```kotlin
|
||||||
|
repositories {
|
||||||
|
maven("https://repo.kotlin.link")
|
||||||
|
mavenCentral()
|
||||||
|
}
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
implementation("space.kscience:controls-opcua:0.2.0-dev-2")
|
||||||
|
}
|
||||||
|
```
|
||||||
|
@ -1,4 +1,32 @@
|
|||||||
# Module controls-ktor-tcp
|
# Module controls-ports-ktor
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
## Artifact:
|
||||||
|
|
||||||
|
The Maven coordinates of this project are `space.kscience:controls-ports-ktor:0.2.0-dev-2`.
|
||||||
|
|
||||||
|
**Gradle Groovy:**
|
||||||
|
```groovy
|
||||||
|
repositories {
|
||||||
|
maven { url 'https://repo.kotlin.link' }
|
||||||
|
mavenCentral()
|
||||||
|
}
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
implementation 'space.kscience:controls-ports-ktor:0.2.0-dev-2'
|
||||||
|
}
|
||||||
|
```
|
||||||
|
**Gradle Kotlin DSL:**
|
||||||
|
```kotlin
|
||||||
|
repositories {
|
||||||
|
maven("https://repo.kotlin.link")
|
||||||
|
mavenCentral()
|
||||||
|
}
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
implementation("space.kscience:controls-ports-ktor:0.2.0-dev-2")
|
||||||
|
}
|
||||||
|
```
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
## Artifact:
|
## Artifact:
|
||||||
|
|
||||||
The Maven coordinates of this project are `space.kscience:controls-serial:0.1.1-SNAPSHOT`.
|
The Maven coordinates of this project are `space.kscience:controls-serial:0.2.0-dev-2`.
|
||||||
|
|
||||||
**Gradle Groovy:**
|
**Gradle Groovy:**
|
||||||
```groovy
|
```groovy
|
||||||
@ -16,7 +16,7 @@ repositories {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation 'space.kscience:controls-serial:0.1.1-SNAPSHOT'
|
implementation 'space.kscience:controls-serial:0.2.0-dev-2'
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
**Gradle Kotlin DSL:**
|
**Gradle Kotlin DSL:**
|
||||||
@ -27,6 +27,6 @@ repositories {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation("space.kscience:controls-serial:0.1.1-SNAPSHOT")
|
implementation("space.kscience:controls-serial:0.2.0-dev-2")
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
@ -6,7 +6,7 @@ A magix event loop server with web server for visualization.
|
|||||||
|
|
||||||
## Artifact:
|
## Artifact:
|
||||||
|
|
||||||
The Maven coordinates of this project are `space.kscience:controls-server:0.1.1-SNAPSHOT`.
|
The Maven coordinates of this project are `space.kscience:controls-server:0.2.0-dev-2`.
|
||||||
|
|
||||||
**Gradle Groovy:**
|
**Gradle Groovy:**
|
||||||
```groovy
|
```groovy
|
||||||
@ -16,7 +16,7 @@ repositories {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation 'space.kscience:controls-server:0.1.1-SNAPSHOT'
|
implementation 'space.kscience:controls-server:0.2.0-dev-2'
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
**Gradle Kotlin DSL:**
|
**Gradle Kotlin DSL:**
|
||||||
@ -27,6 +27,6 @@ repositories {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation("space.kscience:controls-server:0.1.1-SNAPSHOT")
|
implementation("space.kscience:controls-server:0.2.0-dev-2")
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
## Artifact:
|
## Artifact:
|
||||||
|
|
||||||
The Maven coordinates of this project are `space.kscience:controls-storage:0.1.1-SNAPSHOT`.
|
The Maven coordinates of this project are `space.kscience:controls-storage:0.2.0-dev-2`.
|
||||||
|
|
||||||
**Gradle Groovy:**
|
**Gradle Groovy:**
|
||||||
```groovy
|
```groovy
|
||||||
@ -16,7 +16,7 @@ repositories {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation 'space.kscience:controls-storage:0.1.1-SNAPSHOT'
|
implementation 'space.kscience:controls-storage:0.2.0-dev-2'
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
**Gradle Kotlin DSL:**
|
**Gradle Kotlin DSL:**
|
||||||
@ -27,6 +27,6 @@ repositories {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation("space.kscience:controls-storage:0.1.1-SNAPSHOT")
|
implementation("space.kscience:controls-storage:0.2.0-dev-2")
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
## Artifact:
|
## Artifact:
|
||||||
|
|
||||||
The Maven coordinates of this project are `space.kscience:controls-xodus:0.1.1-SNAPSHOT`.
|
The Maven coordinates of this project are `space.kscience:controls-xodus:0.2.0-dev-2`.
|
||||||
|
|
||||||
**Gradle Groovy:**
|
**Gradle Groovy:**
|
||||||
```groovy
|
```groovy
|
||||||
@ -16,7 +16,7 @@ repositories {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation 'space.kscience:controls-xodus:0.1.1-SNAPSHOT'
|
implementation 'space.kscience:controls-xodus:0.2.0-dev-2'
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
**Gradle Kotlin DSL:**
|
**Gradle Kotlin DSL:**
|
||||||
@ -27,6 +27,6 @@ repositories {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation("space.kscience:controls-xodus:0.1.1-SNAPSHOT")
|
implementation("space.kscience:controls-xodus:0.2.0-dev-2")
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
## Artifact:
|
## Artifact:
|
||||||
|
|
||||||
The Maven coordinates of this project are `space.kscience:magix-api:0.1.1-SNAPSHOT`.
|
The Maven coordinates of this project are `space.kscience:magix-api:0.2.0-dev-2`.
|
||||||
|
|
||||||
**Gradle Groovy:**
|
**Gradle Groovy:**
|
||||||
```groovy
|
```groovy
|
||||||
@ -16,7 +16,7 @@ repositories {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation 'space.kscience:magix-api:0.1.1-SNAPSHOT'
|
implementation 'space.kscience:magix-api:0.2.0-dev-2'
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
**Gradle Kotlin DSL:**
|
**Gradle Kotlin DSL:**
|
||||||
@ -27,6 +27,6 @@ repositories {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation("space.kscience:magix-api:0.1.1-SNAPSHOT")
|
implementation("space.kscience:magix-api:0.2.0-dev-2")
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
@ -53,4 +53,9 @@ public interface MagixEndpoint {
|
|||||||
encodeDefaults = false
|
encodeDefaults = false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* An alias for [MagixEndpoint.broadcast]
|
||||||
|
*/
|
||||||
|
public suspend fun MagixEndpoint.send(message: MagixMessage): Unit = broadcast(message)
|
@ -1,17 +0,0 @@
|
|||||||
package space.kscience.magix.api
|
|
||||||
|
|
||||||
import kotlinx.serialization.json.JsonElement
|
|
||||||
|
|
||||||
/**
|
|
||||||
* An interface to access distributed Magix property registry
|
|
||||||
*/
|
|
||||||
public interface MagixRegistry {
|
|
||||||
/**
|
|
||||||
* Request a property with name [propertyName] and user authentication data [user].
|
|
||||||
*
|
|
||||||
* Return a property value in its generic form or null if it is not present.
|
|
||||||
*
|
|
||||||
* Throw an exception if property is present but access is denied.
|
|
||||||
*/
|
|
||||||
public suspend fun request(propertyName: String, user: JsonElement? = null): JsonElement?
|
|
||||||
}
|
|
@ -1,30 +0,0 @@
|
|||||||
package space.kscience.magix.api
|
|
||||||
|
|
||||||
import kotlinx.coroutines.CoroutineScope
|
|
||||||
import kotlinx.coroutines.Job
|
|
||||||
import kotlinx.coroutines.flow.launchIn
|
|
||||||
import kotlinx.coroutines.flow.onEach
|
|
||||||
import kotlinx.serialization.json.JsonElement
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Launch magix message converter service
|
|
||||||
*/
|
|
||||||
public fun <T, R> CoroutineScope.launchMagixConverter(
|
|
||||||
endpoint: MagixEndpoint,
|
|
||||||
filter: MagixMessageFilter,
|
|
||||||
outputFormat: String,
|
|
||||||
newOrigin: String? = null,
|
|
||||||
transformer: suspend (JsonElement) -> JsonElement,
|
|
||||||
): Job = endpoint.subscribe(filter).onEach { message->
|
|
||||||
val newPayload = transformer(message.payload)
|
|
||||||
val transformed: MagixMessage = MagixMessage(
|
|
||||||
outputFormat,
|
|
||||||
newPayload,
|
|
||||||
newOrigin ?: message.sourceEndpoint,
|
|
||||||
message.targetEndpoint,
|
|
||||||
message.id,
|
|
||||||
message.parentId,
|
|
||||||
message.user
|
|
||||||
)
|
|
||||||
endpoint.broadcast(transformed)
|
|
||||||
}.launchIn(this)
|
|
@ -0,0 +1,81 @@
|
|||||||
|
package space.kscience.magix.services
|
||||||
|
|
||||||
|
import kotlinx.coroutines.CoroutineScope
|
||||||
|
import kotlinx.coroutines.Job
|
||||||
|
import kotlinx.coroutines.flow.launchIn
|
||||||
|
import kotlinx.coroutines.flow.onEach
|
||||||
|
import kotlinx.serialization.SerialName
|
||||||
|
import kotlinx.serialization.Serializable
|
||||||
|
import kotlinx.serialization.json.JsonElement
|
||||||
|
import kotlinx.serialization.json.JsonNull
|
||||||
|
import space.kscience.magix.api.MagixEndpoint
|
||||||
|
import space.kscience.magix.api.MagixFormat
|
||||||
|
import space.kscience.magix.api.broadcast
|
||||||
|
import space.kscience.magix.api.subscribe
|
||||||
|
|
||||||
|
/**
|
||||||
|
* An interface to access distributed Magix property registry
|
||||||
|
*/
|
||||||
|
public interface MagixRegistry {
|
||||||
|
/**
|
||||||
|
* Request a property with name [propertyName] and user authentication data [user].
|
||||||
|
*
|
||||||
|
* Return a property value in its generic form or null if it is not present.
|
||||||
|
*
|
||||||
|
* Throw exception access is denied, or request failed.
|
||||||
|
*/
|
||||||
|
public suspend fun request(propertyName: String, user: JsonElement? = null): JsonElement?
|
||||||
|
}
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
public sealed class MagixRegistryMessage {
|
||||||
|
public abstract val propertyName: String
|
||||||
|
|
||||||
|
public companion object {
|
||||||
|
public val format: MagixFormat<MagixRegistryMessage> = MagixFormat(serializer(), setOf("magix.registry"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("registry.request")
|
||||||
|
public class MagixRegistryRequestMessage(
|
||||||
|
override val propertyName: String,
|
||||||
|
) : MagixRegistryMessage()
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("registry.value")
|
||||||
|
public class MagixRegistryValueMessage(
|
||||||
|
override val propertyName: String,
|
||||||
|
public val value: JsonElement,
|
||||||
|
) : MagixRegistryMessage()
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@SerialName("registry.error")
|
||||||
|
public class MagixRegistryErrorMessage(
|
||||||
|
override val propertyName: String,
|
||||||
|
public val errorType: String?,
|
||||||
|
public val errorMessage: String? = null,
|
||||||
|
) : MagixRegistryMessage()
|
||||||
|
|
||||||
|
public fun CoroutineScope.launchMagixRegistry(
|
||||||
|
endpoint: MagixEndpoint,
|
||||||
|
registry: MagixRegistry,
|
||||||
|
originFilter: Collection<String>? = null,
|
||||||
|
targetFilter: Collection<String>? = null,
|
||||||
|
): Job = endpoint.subscribe(MagixRegistryMessage.format, originFilter, targetFilter)
|
||||||
|
.onEach { (magixMessage, payload) ->
|
||||||
|
if (payload is MagixRegistryRequestMessage) {
|
||||||
|
try {
|
||||||
|
val value = registry.request(payload.propertyName, magixMessage.user)
|
||||||
|
endpoint.broadcast(
|
||||||
|
MagixRegistryMessage.format,
|
||||||
|
MagixRegistryValueMessage(payload.propertyName, value ?: JsonNull)
|
||||||
|
)
|
||||||
|
} catch (ex: Exception){
|
||||||
|
endpoint.broadcast(
|
||||||
|
MagixRegistryMessage.format,
|
||||||
|
MagixRegistryErrorMessage(payload.propertyName, ex::class.simpleName, ex.message)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}.launchIn(this)
|
@ -0,0 +1,41 @@
|
|||||||
|
package space.kscience.magix.services
|
||||||
|
|
||||||
|
import kotlinx.coroutines.CoroutineScope
|
||||||
|
import kotlinx.coroutines.Job
|
||||||
|
import kotlinx.coroutines.flow.launchIn
|
||||||
|
import kotlinx.coroutines.flow.onEach
|
||||||
|
import kotlinx.serialization.json.JsonElement
|
||||||
|
import space.kscience.magix.api.MagixEndpoint
|
||||||
|
import space.kscience.magix.api.MagixMessage
|
||||||
|
import space.kscience.magix.api.MagixMessageFilter
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Launch magix message converter service.
|
||||||
|
*
|
||||||
|
* The service converts a payload from one format into another.
|
||||||
|
*
|
||||||
|
* @param endpoint The endpoint this converter is attached to
|
||||||
|
* @param filter a filter for messages to be converted.
|
||||||
|
* @param outputFormat a new value for [MagixMessage.format] field
|
||||||
|
* @param newSource a new value of [MagixMessage.sourceEndpoint]. By default uses the original message value
|
||||||
|
* @param transformer a function to transform the payload.
|
||||||
|
*/
|
||||||
|
public fun CoroutineScope.launchMagixConverter(
|
||||||
|
endpoint: MagixEndpoint,
|
||||||
|
filter: MagixMessageFilter,
|
||||||
|
outputFormat: String,
|
||||||
|
newSource: String? = null,
|
||||||
|
transformer: suspend (JsonElement) -> JsonElement,
|
||||||
|
): Job = endpoint.subscribe(filter).onEach { message->
|
||||||
|
val newPayload = transformer(message.payload)
|
||||||
|
val transformed: MagixMessage = MagixMessage(
|
||||||
|
outputFormat,
|
||||||
|
newPayload,
|
||||||
|
newSource ?: message.sourceEndpoint,
|
||||||
|
message.targetEndpoint,
|
||||||
|
message.id,
|
||||||
|
message.parentId,
|
||||||
|
message.user
|
||||||
|
)
|
||||||
|
endpoint.broadcast(transformed)
|
||||||
|
}.launchIn(this)
|
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
## Artifact:
|
## Artifact:
|
||||||
|
|
||||||
The Maven coordinates of this project are `space.kscience:magix-java-client:0.1.1-SNAPSHOT`.
|
The Maven coordinates of this project are `space.kscience:magix-java-client:0.2.0-dev-2`.
|
||||||
|
|
||||||
**Gradle Groovy:**
|
**Gradle Groovy:**
|
||||||
```groovy
|
```groovy
|
||||||
@ -16,7 +16,7 @@ repositories {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation 'space.kscience:magix-java-client:0.1.1-SNAPSHOT'
|
implementation 'space.kscience:magix-java-client:0.2.0-dev-2'
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
**Gradle Kotlin DSL:**
|
**Gradle Kotlin DSL:**
|
||||||
@ -27,6 +27,6 @@ repositories {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation("space.kscience:magix-java-client:0.1.1-SNAPSHOT")
|
implementation("space.kscience:magix-java-client:0.2.0-dev-2")
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
@ -6,7 +6,7 @@ MQTT client magix endpoint
|
|||||||
|
|
||||||
## Artifact:
|
## Artifact:
|
||||||
|
|
||||||
The Maven coordinates of this project are `space.kscience:magix-mqtt:0.1.1-SNAPSHOT`.
|
The Maven coordinates of this project are `space.kscience:magix-mqtt:0.2.0-dev-2`.
|
||||||
|
|
||||||
**Gradle Groovy:**
|
**Gradle Groovy:**
|
||||||
```groovy
|
```groovy
|
||||||
@ -16,7 +16,7 @@ repositories {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation 'space.kscience:magix-mqtt:0.1.1-SNAPSHOT'
|
implementation 'space.kscience:magix-mqtt:0.2.0-dev-2'
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
**Gradle Kotlin DSL:**
|
**Gradle Kotlin DSL:**
|
||||||
@ -27,6 +27,6 @@ repositories {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation("space.kscience:magix-mqtt:0.1.1-SNAPSHOT")
|
implementation("space.kscience:magix-mqtt:0.2.0-dev-2")
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
@ -6,7 +6,7 @@ RabbitMQ client magix endpoint
|
|||||||
|
|
||||||
## Artifact:
|
## Artifact:
|
||||||
|
|
||||||
The Maven coordinates of this project are `space.kscience:magix-rabbit:0.1.1-SNAPSHOT`.
|
The Maven coordinates of this project are `space.kscience:magix-rabbit:0.2.0-dev-2`.
|
||||||
|
|
||||||
**Gradle Groovy:**
|
**Gradle Groovy:**
|
||||||
```groovy
|
```groovy
|
||||||
@ -16,7 +16,7 @@ repositories {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation 'space.kscience:magix-rabbit:0.1.1-SNAPSHOT'
|
implementation 'space.kscience:magix-rabbit:0.2.0-dev-2'
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
**Gradle Kotlin DSL:**
|
**Gradle Kotlin DSL:**
|
||||||
@ -27,6 +27,6 @@ repositories {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation("space.kscience:magix-rabbit:0.1.1-SNAPSHOT")
|
implementation("space.kscience:magix-rabbit:0.2.0-dev-2")
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
@ -6,7 +6,7 @@ Magix endpoint (client) based on RSocket
|
|||||||
|
|
||||||
## Artifact:
|
## Artifact:
|
||||||
|
|
||||||
The Maven coordinates of this project are `space.kscience:magix-rsocket:0.1.1-SNAPSHOT`.
|
The Maven coordinates of this project are `space.kscience:magix-rsocket:0.2.0-dev-2`.
|
||||||
|
|
||||||
**Gradle Groovy:**
|
**Gradle Groovy:**
|
||||||
```groovy
|
```groovy
|
||||||
@ -16,7 +16,7 @@ repositories {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation 'space.kscience:magix-rsocket:0.1.1-SNAPSHOT'
|
implementation 'space.kscience:magix-rsocket:0.2.0-dev-2'
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
**Gradle Kotlin DSL:**
|
**Gradle Kotlin DSL:**
|
||||||
@ -27,6 +27,6 @@ repositories {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation("space.kscience:magix-rsocket:0.1.1-SNAPSHOT")
|
implementation("space.kscience:magix-rsocket:0.2.0-dev-2")
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
@ -6,7 +6,7 @@ A magix event loop implementation in Kotlin. Includes HTTP/SSE and RSocket route
|
|||||||
|
|
||||||
## Artifact:
|
## Artifact:
|
||||||
|
|
||||||
The Maven coordinates of this project are `space.kscience:magix-server:0.1.1-SNAPSHOT`.
|
The Maven coordinates of this project are `space.kscience:magix-server:0.2.0-dev-2`.
|
||||||
|
|
||||||
**Gradle Groovy:**
|
**Gradle Groovy:**
|
||||||
```groovy
|
```groovy
|
||||||
@ -16,7 +16,7 @@ repositories {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation 'space.kscience:magix-server:0.1.1-SNAPSHOT'
|
implementation 'space.kscience:magix-server:0.2.0-dev-2'
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
**Gradle Kotlin DSL:**
|
**Gradle Kotlin DSL:**
|
||||||
@ -27,6 +27,6 @@ repositories {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation("space.kscience:magix-server:0.1.1-SNAPSHOT")
|
implementation("space.kscience:magix-server:0.2.0-dev-2")
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
@ -1,4 +1,32 @@
|
|||||||
# Module magix-storage
|
# Module magix-storage
|
||||||
|
|
||||||
|
Magix history database API
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
## Artifact:
|
||||||
|
|
||||||
|
The Maven coordinates of this project are `space.kscience:magix-storage:0.2.0-dev-2`.
|
||||||
|
|
||||||
|
**Gradle Groovy:**
|
||||||
|
```groovy
|
||||||
|
repositories {
|
||||||
|
maven { url 'https://repo.kotlin.link' }
|
||||||
|
mavenCentral()
|
||||||
|
}
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
implementation 'space.kscience:magix-storage:0.2.0-dev-2'
|
||||||
|
}
|
||||||
|
```
|
||||||
|
**Gradle Kotlin DSL:**
|
||||||
|
```kotlin
|
||||||
|
repositories {
|
||||||
|
maven("https://repo.kotlin.link")
|
||||||
|
mavenCentral()
|
||||||
|
}
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
implementation("space.kscience:magix-storage:0.2.0-dev-2")
|
||||||
|
}
|
||||||
|
```
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
## Artifact:
|
## Artifact:
|
||||||
|
|
||||||
The Maven coordinates of this project are `space.kscience:magix-storage-xodus:0.1.1-SNAPSHOT`.
|
The Maven coordinates of this project are `space.kscience:magix-storage-xodus:0.2.0-dev-2`.
|
||||||
|
|
||||||
**Gradle Groovy:**
|
**Gradle Groovy:**
|
||||||
```groovy
|
```groovy
|
||||||
@ -16,7 +16,7 @@ repositories {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation 'space.kscience:magix-storage-xodus:0.1.1-SNAPSHOT'
|
implementation 'space.kscience:magix-storage-xodus:0.2.0-dev-2'
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
**Gradle Kotlin DSL:**
|
**Gradle Kotlin DSL:**
|
||||||
@ -27,6 +27,6 @@ repositories {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation("space.kscience:magix-storage-xodus:0.1.1-SNAPSHOT")
|
implementation("space.kscience:magix-storage-xodus:0.2.0-dev-2")
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
@ -6,7 +6,7 @@ ZMQ client endpoint for Magix
|
|||||||
|
|
||||||
## Artifact:
|
## Artifact:
|
||||||
|
|
||||||
The Maven coordinates of this project are `space.kscience:magix-zmq:0.1.1-SNAPSHOT`.
|
The Maven coordinates of this project are `space.kscience:magix-zmq:0.2.0-dev-2`.
|
||||||
|
|
||||||
**Gradle Groovy:**
|
**Gradle Groovy:**
|
||||||
```groovy
|
```groovy
|
||||||
@ -16,7 +16,7 @@ repositories {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation 'space.kscience:magix-zmq:0.1.1-SNAPSHOT'
|
implementation 'space.kscience:magix-zmq:0.2.0-dev-2'
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
**Gradle Kotlin DSL:**
|
**Gradle Kotlin DSL:**
|
||||||
@ -27,6 +27,6 @@ repositories {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation("space.kscience:magix-zmq:0.1.1-SNAPSHOT")
|
implementation("space.kscience:magix-zmq:0.2.0-dev-2")
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
Loading…
Reference in New Issue
Block a user