All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.avsystem.commons.rpc.RPC.scala Maven / Gradle / Ivy

The newest version!
package com.avsystem.commons
package rpc

import scala.annotation.StaticAnnotation

/**
  * Marker annotation for all RPC interfaces. Must be applied on every trait/class representing an RPC interface.
  * 

* An RPC interface is a trait or class whose abstract methods will be interpreted as remote methods by the * RPC framework. Remote methods must be defined according to following rules: *
    *
  • types of arguments must be serializable by uPickle library
  • *
  • return type must be either `Unit`, `Future[T]` where `T` is a type serializable by uPickle library or * another RPC interface
  • *
  • method must not have type parameters
  • *
* RPC interfaces may also have non-abstract members - these will be invoked locally. However, they may invoke * remote members in their implementations. */ class RPC extends StaticAnnotation




© 2015 - 2025 Weber Informatics LLC | Privacy Policy