From 99f747bf9fa7d8135405b032d24aaad27e457694 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Tue, 11 Jul 2017 17:09:16 +0200 Subject: [PATCH] more doc --- documentation/client_ownership.dot | 21 +++++++++++++++++++++ documentation/providers.h | 4 +++- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/documentation/client_ownership.dot b/documentation/client_ownership.dot index a1305eb..fd31702 100644 --- a/documentation/client_ownership.dot +++ b/documentation/client_ownership.dot @@ -2,6 +2,7 @@ digraph clientowner { ChannelProvider; Channel; ChannelRequester [shape=box]; + External [shape=box]; Channel; ChannelRequester [shape=box]; @@ -50,4 +51,24 @@ digraph clientowner { ChannelProcess -> Channel [color=red, style=dashed]; ChannelPutGet -> Channel [color=red, style=dashed]; ChannelArray -> Channel [color=red, style=dashed]; + + # user code ownership + External -> ChannelProvider [color=red]; + External -> ChannelRequester [color=red]; + External -> ChannelGetRequester [color=red]; + External -> ChannelPutRequester [color=red]; + External -> MonitorRequester [color=red]; + External -> ChannelRPCRequester [color=red]; + External -> ChannelProcessRequester [color=red]; + External -> ChannelPutGetRequester [color=red]; + External -> ChannelArrayRequester [color=red]; + + ChannelRequester -> Channel [color=red]; + ChannelGetRequester -> ChannelGet [color=red]; + ChannelPutRequester -> ChannelPut [color=red]; + MonitorRequester -> Monitor [color=red]; + ChannelRPCRequester -> ChannelRPC [color=red]; + ChannelProcessRequester -> ChannelProcess [color=red]; + ChannelPutGetRequester -> ChannelPutGet [color=red]; + ChannelArrayRequester -> ChannelArray [color=red]; } diff --git a/documentation/providers.h b/documentation/providers.h index 1bf1e32..faf92bc 100644 --- a/documentation/providers.h +++ b/documentation/providers.h @@ -312,7 +312,9 @@ See epics::pvAccess::Monitor::Stats. @subsection provides_client_ownership Client Ownership -Implicit ownership in classes outside the control of client code. +The following shows the implicit ownership in classes outside the control of client code, +as well as the expected ownerships of of Client user code. +"External" denotes references stored by Client objects which can't participate in reference cycles. @dotfile client_ownership.dot Client implicit relationships