Immutable borrows elegantly express
that a value is only read, whereas move-in-move-out values
change ownership and as such can be modified. Further, and
more importantly, in the case that a domain moves a remote
reference to another domain, which happens to panic, that
RRef is permanently gone. In the case of an immutable bor-
row, that reference should still be valid since it was never
modified.
We keep track of ownership during an immutable borrow
with a simple counter. The purpose of the borrow counter is to
clean up a remote reference in the case that a domain panics. A
proxy lies in between each domain crossing and manages the
borrow counter. It increments the counter when descending
into another domain, and decrements it upon return (success-
ful or unsuccessful). The RRef is only deallocated when the
borrow counter hits zero and its owner domain is dead.
https://users.cs.utah.edu/~aburtsev/doc/appel-bs-thesis.pdf
GNU social JP is a social network, courtesy of GNU social JP管理人. It runs on GNU social, version 2.0.2-dev, available under the GNU Affero General Public License.
All GNU social JP content and data are available under the Creative Commons Attribution 3.0 license.