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

    XMLWordPrintableJSON

Details

    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

        Issue Links

          Activity

            People

              tison Zili Chen
              thkoch Thomas Koch
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 0.5h
                  0.5h