Uploaded image for project: 'ZooKeeper'
  1. ZooKeeper
  2. ZOOKEEPER-835 Refactoring Zookeeper Client Code
  3. ZOOKEEPER-910

Use SelectionKey.isXYZ() methods instead of complicated binary logic

    Details

    • Type: Sub-task
    • Status: Patch Available
    • Priority: Minor
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: 3.6.0, 3.5.5
    • Component/s: server
    • Labels:
      None

      Description

      The SelectionKey class provides methods to replace something like this

      (k.readyOps() & (SelectionKey.OP_READ | SelectionKey.OP_WRITE)) != 0

      with

      selectionKey.isReadable() || selectionKey.isWritable()

      It may be possible, that the first version saves a CPU cycle or two, but the later version saves developer brain cycles which are much more expensive.

      I suppose that there are many more places in the server code where this replacement could be done. I propose that whoever touches a code line like this should make the replacement.

        Attachments

        1. ZOOKEEPER-910.patch
          1.0 kB
          Michi Mutsuzaki

          Activity

            People

            • Assignee:
              michim Michi Mutsuzaki
              Reporter:
              thkoch Thomas Koch
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated: