Make AtomicProxy less appetizing to use

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Server Programmability
    • None
    • 3
    • TBD
    • None
    • None
    • None
    • None
    • None
    • None

      The AtomicProxy type (and the AtomicDouble typedef) seem to completely bypass all of the reasons we use Atomic<T> rather than std::atomic directly in our codebase. It seems to mostly be intended to simplify compatibility with the way that idl generates code, and not for direct usage by human written code. I think we should make that more clear:

      • Teach the IDL to correctly use Atomic<T> without a proxy
      • Have code just use std::atomic<T> rather than AtomicProxy<T>
      • Rename to something like AtomicProxy_OnlyForUseWithIdlGeneratedCode

      Note: this is fallout from marking our public API. AtomicProxy is used outside of core because the generated code is attached to the module that owns the foo.idl file, but I do not think this type should be part of our public human-facing API.

            Assignee:
            Unassigned
            Reporter:
            Mathias Stearn
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated: