diff options
author | Christian Mollekopf <chrigi_1@fastmail.fm> | 2016-05-09 14:44:51 +0200 |
---|---|---|
committer | Christian Mollekopf <chrigi_1@fastmail.fm> | 2016-05-09 14:44:51 +0200 |
commit | 367d167aa4d19e43669a42c198d941476f340800 (patch) | |
tree | a7d782ad4085cbc1086a370c8c189408433eaa6f /docs | |
parent | 4dfa71a35850a297116760e5d3157bfa6960ec8a (diff) | |
download | sink-367d167aa4d19e43669a42c198d941476f340800.tar.gz sink-367d167aa4d19e43669a42c198d941476f340800.zip |
A few words about capabilities
Diffstat (limited to 'docs')
-rw-r--r-- | docs/resource.md | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/docs/resource.md b/docs/resource.md index 8c87522..7766337 100644 --- a/docs/resource.md +++ b/docs/resource.md | |||
@@ -165,3 +165,18 @@ Resources have to be tested, which often requires inspections into the current s | |||
165 | To alleviate this inspection commands are introduced. Inspection commands are special commands that the resource processes just like all other commands, and that have the sole purpose of inspecting the current resource state. Because the command is processed with the same mechanism as other commands we can rely on ordering of commands in a way that a prior command is guaranteed to be executed once the inspection command is processed. | 165 | To alleviate this inspection commands are introduced. Inspection commands are special commands that the resource processes just like all other commands, and that have the sole purpose of inspecting the current resource state. Because the command is processed with the same mechanism as other commands we can rely on ordering of commands in a way that a prior command is guaranteed to be executed once the inspection command is processed. |
166 | 166 | ||
167 | A typical inspection command could i.e. verify that a file has been created in the expected path after a create command. | 167 | A typical inspection command could i.e. verify that a file has been created in the expected path after a create command. |
168 | |||
169 | # Capabilities | ||
170 | Resources can have various capabilities. Each capability is a contract that the resource guarantees to fullfil. | ||
171 | |||
172 | ## Storage | ||
173 | * The storage capability guarantees that the resource stores entities (of a supported type) given to it. | ||
174 | |||
175 | ## Mailtransport | ||
176 | * A mailtransport resource transports any mail that it receives to the indicated destination. | ||
177 | * As long as the mail has not been transported it must be queryable, modifiabl and removable. | ||
178 | * Once the mail has been transported it should be moved to the target sent mail folder and be removed from the resource. | ||
179 | |||
180 | ## Drafts | ||
181 | * A resource that supports the drafts capability must store any mail that is marked as draft in a suitable drafts folder. | ||
182 | * The resource must guarantee that storage succeeds (as soon as it accepts the request), so it must create a suitable folder if non is available. | ||