Actors

Actor-oriented concurrent and distributed programming.

usage

(import :std/actor)

Overview

Please write me!

Basic Types

message

(defstruct message (e source dest options))

Please document me!

proxy

(defstruct proxy (handler))

Please document me!

handle

(defstruct (handle proxy) (uuid))

Please document me!

remote

(defstruct (remote handle) (address proto))

Please document me!

remote=?

usage

(remote=? ...)

Please document me!

remote-hash

usage

(remote-hash ...)

Please document me!

Exceptions

actor-error?

usage

(actor-error? ...)

Please document me!

rpc-error?

usage

(rpc-error? ...)

Please document me!

remote-error?

usage

(remote-error? ...)

Please document me!

rpc-io-error?

usage

(rpc-io-error? ...)

Please document me!

Message Primitives

->

usage

(-> ...)

Please document me!

send

usage

(send ...)

Please document me!

send-message

usage

(send-message ...)

Please document me!

send-message/timeout

usage

(send-message/timeout ...)

Please document me!

<<

usage

(<< ...)

Please document me!

<-

usage

(<- ...)

Please document me!

@message

(defsyntax @message)
(defsyntax @@message)

Please document me!

@value

(defsyntax @value)
(defsyntax @@value)

Please document me!

@source

(defsyntax @source)
(defsyntax @@source)

Please document me!

@dest

(defsyntax @dest)
(defsyntax @@dest)

Please document me!

@options

(defsyntax @options)
(defsyntax @@options)

Please document me!

!

(defsyntax !)

Please document me!

Protocols

defproto

usage

(defproto ...)

Please document me!

defproto-default-type

usage

(defproto-default-type ...)

Please document me!

!protocol

(defstruct !protocol (id super types))

Please document me!

proto-out

usage

(proto-out ...)

Please document me!

!rpc

(defstruct !rpc ())

Please document me!

!call

(defstruct (!call !rpc) (e k)

Please document me!

!!call

usage

(!!call ...)

Please document me!

!value

(defstruct (!value !rpc) (e k))

Please document me!

!!value

usage

(!!value ...)

Please document me!

!error

(defstruct (!error !rpc) (e k))

Please document me!

!!error

usage

(!!error ...)

Please document me!

!event

(defstruct (!event !rpc) (e))

Please document me!

!!event

usage

(!!event ...)

Please document me!

!stream

(defstruct (!stream !rpc) (e k))

Please document me!

!!stream

usage

(!!stream ...)

Please document me!

!yield

(defstruct (!yield !rpc) (e k))

Please document me!

!!yield

usage

(!!yield ...)

Please document me!

!end

(defstruct (!end !rpc) (k))

Please document me!

!!end

usage

(!!end ...)

Please document me!

!continue

(defstruct (!continue !rpc) (k))

Please document me!

!!continue

usage

(!!continue ...)

Please document me!

!close

(defstruct (!close !rpc) (k))

Please document me!

!!close

usage

(!!close ...)

Please document me!

!abort

(defstruct (!abort !rpc) (k))

Please document me!

!!abort

usage

(!!abort ...)

Please document me!

!sync

(defstruct (!sync !rpc) (k))

Please document me!

!!sync

usage

(!!sync ...)

Please document me!

!token

(defstruct !token ())

Please document me!

!!pipe

usage

(!!pipe ...)

Please document me!

Syntax Bindings

make-protocol-info

usage

(make-protocol-info ...)

Please document me!

protocol-info?

usage

(protocol-info? ...)

Please document me!

protocol-info-runtime-identifier

usage

(protocol-info-runtime-identifier ...)

Please document me!

protocol-info-id

usage

(protocol-info-id ...)

Please document me!

protocol-info-extend

usage

(protocol-info-extend ...)

Please document me!

protocol-info-calls

usage

(protocol-info-calls ...)

Please document me!

protocol-info-events

usage

(protocol-info-events ...)

Please document me!

protocol-info-streams

usage

(protocol-info-streams ...)

Please document me!

RPC

current-rpc-server

usage

(current-rpc-server ...)

Please document me!

start-rpc-server!

usage

(start-rpc-server! ...)

Please document me!

stop-rpc-server!

usage

(stop-rpc-server! ...)

Please document me!

rpc-connect

usage

(rpc-connect ...)

Please document me!

rpc-register

usage

(rpc-register ...)

Please document me!

rpc-unregister

usage

(rpc-unregister ...)

Please document me!

bind-protocol!

usage

(bind-protocol! ...)

Please document me!

RPC Server Protocol

rpc.register

usage

(rpc.register ...)
(!rpc.register ...)
(!!rpc.register ...)

Please document me!

rpc.unregister

usage

(rpc.unregister ...)
(!rpc.unregister ...)
(!!rpc.unregister ...)

Please document me!

rpc.resolve

usage

(rpc.resolve ...)
(!rpc.resolve ...)
(!!rpc.resolve ...)

Please document me!

rpc.server-address

usage

(rpc.server-address ...)
(!rpc.server-address ...)
(!!rpc.server-address ...)

Please document me!

rpc.monitor

usage

(rpc.monitor ...)
(!rpc.monitor ...)
(!!rpc.monitor ...)

Please document me!

rpc.unmonitor

usage

(rpc.unmonitor ...)
(!rpc.unmonitor ...)
(!!rpc.unmonitor ...)

Please document me!

rpc.disconnect

usage

(rpc.disconnect ...)
(!rpc.disconnect ...)
(!!rpc.disconnect ...)

Please document me!

rpc.shutdown

usage

(rpc.shutdown ...)
(!rpc.shutdown ...)
(!!rpc.shutdown ...)

Please document me!

RPC Wire Protocols

rpc-null-proto

usage

(rpc-null-proto ...)

Please document me!

usage

(rpc-cookie-proto ...)

Please document me!

usage

(rpc-generate-cookie! ...)

Please document me!

rpc-cipher-proto

usage

(rpc-cipher-proto ...)

Please document me!

usage

(rpc-cookie-cipher-proto ...)

Please document me!

RPC Options

set-rpc-keep-alive-interval!

usage

(set-rpc-keep-alive-interval! ...)

Please document me!

set-rpc-idle-timeout!

usage

(set-rpc-idle-timeout! ...)

Please document me!

set-rpc-call-timeout!

usage

(set-rpc-call-timeout! ...)

Please document me!

Example

Please write me!