{ $description "Initializes database tables used by asides, conversations and session management. This word must be invoked inside a " { $link with-db } " scope." } ;
HELP: <alloy>
-{ $values { "responder" "a responder" } { "db" db } { "responder'" "an alloy responder" } }
+{ $values { "responder" "a responder" } { "db" "a database descriptor" } { "responder'" "an alloy responder" } }
{ $description "Wraps the responder with support for asides, conversations, sessions and database persistence." }
{ $examples
"The " { $vocab-link "webapps.counter" } " vocabulary uses an alloy to configure the counter:"
} ;
HELP: start-expiring
-{ $values { "db" db } }
+{ $values { "db" "a database descriptor" } }
{ $description "Starts a timer which expires old session state from the given database." } ;
ARTICLE: "furnace.alloy" "Furnace alloy responder"
HELP: <db-persistence>
{ $values
- { "responder" "a responder" } { "db" db }
+ { "responder" "a responder" } { "db" "a database descriptor" }
{ "responder'" db-persistence }
}
{ $description "Wraps a responder with database persistence support. The responder's " { $link call-responder* } " method will run in a " { $link with-db } " scope." } ;
! Copyright (C) 2008 Slava Pestov.\r
! See http://factorcode.org/license.txt for BSD license.\r
USING: kernel accessors continuations namespaces destructors\r
-db db.pools io.pools http.server http.server.filters ;\r
+db db.private db.pools io.pools http.server http.server.filters ;\r
IN: furnace.db\r
\r
TUPLE: db-persistence < filter-responder pool ;\r
M: db-persistence call-responder*\r
[\r
pool>> [ acquire-connection ] keep\r
- [ return-connection-later ] [ drop db set ] 2bi\r
+ [ return-connection-later ] [ drop db-connection set ] 2bi\r
]\r
[ call-next-method ] bi ;\r