Protocol

libretto.examples.coffeemachine.Protocol
opaque object Protocol

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type
Protocol.type

Members list

Type members

Classlikes

case class Beverage(description: String)

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object CoffeeMachine

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
enum Flavor

Attributes

Supertypes
trait Enum
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
enum ShotCount

Attributes

Supertypes
trait Enum
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
enum Size

Attributes

Supertypes
trait Enum
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Types

opaque type CoffeeMachine

Interface between the coffee machine service (on the left) and client (on the right), i.e. the service is the producer of this interface (service: X -⚬ CoffeeMachine), whereas the client is the consumer of this interface (client: CoffeeMachine -⚬ Y).

Interface between the coffee machine service (on the left) and client (on the right), i.e. the service is the producer of this interface (service: X -⚬ CoffeeMachine), whereas the client is the consumer of this interface (client: CoffeeMachine -⚬ Y).

The service offers the client a choice (|&|) between espresso, latte, and ending the interaction.

Attributes

type EspressoOptions = dsl.Val[ShotCount]
type LatteOptions = dsl.Val[Size] dsl.|*| dsl.Val[ShotCount] dsl.|*| dsl.Val[Option[Flavor]]