Uploaded image for project: 'QuickFIX/J'
  1. QuickFIX/J
  2. QFJ-337

IoSessionResponder.send does not return true when message is sent

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Default
    • Resolution: Fixed
    • Affects Version/s: 1.3.2
    • Fix Version/s: 1.3.3
    • Component/s: Engine, Networking
    • Labels:
      None
    • Environment:
      Windows XP
      Java 1.6.0_07

      Description

      IoSessionResponder.send does not return true when message is sent. isWritten does not wait to see if the data has been written. Presumably the data is being written in another thread (since a Future is returned) from ioSession.write. If the thread doing the writing has not had time to execute the isWritten will return false even though the message will be written after the isWritten has been called. The writing needs to be performed in the same thread as the call, or the current thread needs to wait for the thread doing the writing to return.

      The method in question is:
      return ioSession.write(data).isWritten();

      When running this through the debugger the behavior is most likely correct (as can be the case with multi-threaded applications), but if running with just logging send method will return false even though the record is sent.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              mvfranz Michael Franz
            • Votes:
              1 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: