Protocol

libretto.examples.coffeemachine.Protocol$
opaque object Protocol

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Members list

Concise view

Type members

Classlikes

case class Beverage(description: String)

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type
enum Flavor

Attributes

Graph
Supertypes
trait Enum
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

Attributes

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

Attributes

Graph
Supertypes
trait Enum
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

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 LatteOptions = Val[Size] |*| Val[ShotCount] |*| Val[Option[Flavor]]