Skip to content
scalive
Menu
ConnectingLiveReconnectingOffline
GitHub
c

LiveSessionBuilder

class LiveSessionBuilder[R, Ctx]

Defined by scalive.LiveSessionBuilder. View source (scalive/api/src/scalive/routing/LiveRouting.scala:1155-1278)

Methods7

apply

def apply[R1](routes: (LiveRouteFragment[R1] { type Input >: Ctx })*): LiveSession[&[R, R1]]

Defined by scalive.LiveSessionBuilder.apply. View source (scalive/api/src/scalive/routing/LiveRouting.scala:1266-1277)

guardConnectedTurns

def guardConnectedTurns[Result <: Unit](guard: Ctx => zio.IO[LiveConnectedTurnFailure, Result]): LiveSessionBuilder[R, Ctx]

Appends a policy check before each connected application turn.

Guards at one boundary run in declaration order; session guards run before route guards. The callback receives the context available at this builder. Succeed with Unit to continue, or fail with LiveConnectedTurnFailure for a controlled halt, redirect, reload, or disconnect. Guards are inherited by nested LiveViews and do not run during mount, disconnected rendering, or framework cleanup.

Defined by scalive.LiveSessionBuilder.guardConnectedTurns. View source (scalive/api/src/scalive/routing/LiveRouting.scala:1254-1264)

withAdmission

def withAdmission[R1, Claims, Out, Result, Id](aspect: LiveSessionMountAspect[R1, Ctx, Claims, Out])(connectionId: Claims => Id)(using append: ContextAppend.Aux[Ctx, Out, Result], connections: zio.package.Tag[LiveConnections[Id]]): LiveSessionBuilder.Admitted[&[&[R, R1], LiveConnections[Id]], Result]

Adds the session's single active-connection admission boundary.

The signed aspect claim supplies the application-owned connection identifier. Connected mount registers the physical transport before invoking the aspect's authoritative callback.

Defined by scalive.LiveSessionBuilder.withAdmission. View source (scalive/api/src/scalive/routing/LiveRouting.scala:1193-1208)

withConnectedResources

def withConnectedResources[Result <: Unit](initialize: (Ctx, ConnectedResources) => zio.Task[Result]): LiveSessionBuilder[R, Ctx]

Appends session setup before route setup and connected mount, in declaration order.

Defined by scalive.LiveSessionBuilder.withConnectedResources. View source (scalive/api/src/scalive/routing/LiveRouting.scala:1163-1173)

withLayout

def withLayout(value: LiveLayout[Any, Ctx]): LiveSessionBuilder[R, Ctx]

Defined by scalive.LiveSessionBuilder.withLayout. View source (scalive/api/src/scalive/routing/LiveRouting.scala:1210-1218)

def withLayout[LayoutContext](layout: LiveLayout[Any, LayoutContext], select: Ctx => LayoutContext): LiveSessionBuilder[R, Ctx]

Appends a layout, selecting its input from the context available at this declaration. The pure selector adapts only the layout; later aspects preserve this context selection.

Defined by scalive.LiveSessionBuilder.withLayout. View source (scalive/api/src/scalive/routing/LiveRouting.scala:1223-1226)

withMountAspect

def withMountAspect[R1, Claims, Out, Result](aspect: LiveSessionMountAspect[R1, Ctx, Claims, Out])(using append: ContextAppend.Aux[Ctx, Out, Result]): LiveSessionBuilder[&[R, R1], Result]

Defined by scalive.LiveSessionBuilder.withMountAspect. View source (scalive/api/src/scalive/routing/LiveRouting.scala:1175-1186)

withRootLayout

def withRootLayout(value: LiveRootLayout[Any, Ctx]): LiveSessionBuilder[R, Ctx]

Defined by scalive.LiveSessionBuilder.withRootLayout. View source (scalive/api/src/scalive/routing/LiveRouting.scala:1228-1236)

def withRootLayout[LayoutContext](layout: LiveRootLayout[Any, LayoutContext], select: Ctx => LayoutContext): LiveSessionBuilder[R, Ctx]

Replaces the session root, selecting its input from this declaration's context. Key and render select independently, so the selector must be pure and deterministic.

Defined by scalive.LiveSessionBuilder.withRootLayout. View source (scalive/api/src/scalive/routing/LiveRouting.scala:1241-1244)

Values1

name

val name: String

Defined by scalive.LiveSessionBuilder.name. View source (scalive/api/src/scalive/routing/LiveRouting.scala:1156-1156)