1. 14 Apr, 2021 1 commit
    • Fix generation of named enumerator types · be5b677c
      Ben Clayton authored
      Schema top-level definitions, such as `InvalidatedAreas` and `SteppingGranularity` were being emitted as empty structures, when they were actually enumerators.
      
      Re-work protocol_gen.go to emit these correctly.
      
      Also bumps the protocol to DAP version 1.46.0
  2. 11 Feb, 2021 1 commit
  3. 03 Feb, 2021 1 commit
  4. 14 Jan, 2021 1 commit
  5. 02 Dec, 2020 1 commit
  6. 01 Dec, 2020 3 commits
    • Fix content reader for partial input · 77209caf
      Puneetha Ramachandra authored
      When there is partial message in reader, popping out the
      characters lead to parse errors on the subsequent attempt
      to parse. To avoid this, the last matched characters'
      index is stored during parsing and reset on error.
    • Split bind API · e53575d2
      Puneetha Ramachandra authored
      Bind API is split into connect and startProcessingMessages calls.
      This enables users to directly call connect and manage processing
      messages on user threads.
    • Added bindNoThread · ea6098df
      Puneetha Ramachandra authored
      bindNoThread in conjunction with OnDataAvailable will provide
      users with a choice of thread to process requests on. This is
      useful when the user relies on single threaded message loop based
      design to avoid locking.
  7. 21 Jul, 2020 1 commit
  8. 30 Jun, 2020 1 commit
  9. 22 Jun, 2020 1 commit
  10. 15 Jun, 2020 2 commits
  11. 10 Jun, 2020 4 commits
    • clang: Enable -Weverything, fix all warnings · 9d3f5c8f
      Ben Clayton authored
      This change fixes the following warnings:
      
      ```
          -Wc++98-compat-extra-semi
          -Wc++98-compat-local-type-template-args
          -Wc++98-compat-pedantic
          -Wc++98-compat
          -Wcomma
          -Wdeprecated-copy-dtor
          -Wexit-time-destructors
          -Wextra-semi-stmt
          -Wextra-semi
          -Wfloat-conversion
          -Wfloat-equal
          -Wformat-nonliteral
          -Wglobal-constructors
          -Winconsistent-missing-destructor-override
          -Wnon-virtual-dtor
          -Wold-style-cast
          -Wpadded
          -Wreturn-std-move-in-c++11
          -Wshadow-field-in-constructor
          -Wshadow-uncaptured-local
          -Wshift-sign-overflow
          -Wsign-conversion
          -Wundef
          -Wunreachable-code-return
          -Wused-but-marked-unused
          -Wweak-vtables
          -Wzero-as-null-pointer-constant
      ```
    • Update DAP protocol to 1.41.0 · bb3dbcd2
      Ben Clayton authored
      Update the script to include the DAP version in the file headers.
      
      Remove http file caching. Was never used.
    • Fix moves of any when value isInBuffer · f0c28f93
      Ben Clayton authored
      This was copying the pointer to the other's value in other.buffer.
    • Fix deadlock closing socket on another thread · 2f607e07
      Ben Clayton authored
      while another thread is stuck in read() or write().
      
      Fixes: #37
  12. 08 Jun, 2020 4 commits
  13. 05 Jun, 2020 3 commits
  14. 02 Jun, 2020 1 commit
    • Add the ability to derive message types from one another. · cc93ba97
      Ben Clayton authored
      `DAP_IMPLEMENT_STRUCT_TYPEINFO_EXT` and `DAP_STRUCT_TYPEINFO_EXT` are two new flavors of `DAP_IMPLEMENT_STRUCT_TYPEINFO` and `DAP_STRUCT_TYPEINFO` that allow you to derive message types.
      
      This involved a bit of reworking on the serializer interfaces.
      
      Added test.
      
      Issue: #32
  15. 27 May, 2020 2 commits
  16. 07 May, 2020 1 commit
    • Kokoro Ubuntu: Switch to docker image · 9e313445
      Ben Clayton authored
      presubmit.sh now runs presubmit-docker.sh using the new radial
      docker image which contains various toolchains.
      
      The `/bin/using.sh` bash script exports the `using` bash function
      which can be called to configure toolchains at specific versions.
  17. 05 May, 2020 1 commit
  18. 13 Mar, 2020 1 commit
    • Socket: Enable TCP_NODELAY · 4dcca577
      Ben Clayton authored
      DAP usually consists of small packet requests, with small packet responses. When there are many frequent, blocking requests made, Nagle's algorithm can dramatically limit the request->response rates.
  19. 06 Feb, 2020 1 commit
    • Fix new gcc 9 'deprecated-copy' warning. · c4358807
      Ben Clayton authored
      Example warning:
      
      cppdap/include/dap/future.h:172:14: error: implicitly-declared ‘dap::ResponseOrError<dap::StackTraceResponse>& dap::ResponseOrError<dap::StackTraceResponse>::operator=(const dap::ResponseOrError<dap::StackTraceResponse>&)’ is deprecated [-Werror=deprecated-copy]
      
      Add missing constructors and assignment operators.
      This probably adds more than is absolutely necessary, but there's no
      harm in being thorough.
  20. 28 Jan, 2020 1 commit
  21. 24 Jan, 2020 3 commits
  22. 17 Jan, 2020 3 commits
  23. 06 Jan, 2020 2 commits
    • Serialization: Correctly encode structs with no fields · cdc19ac4
      Ben Clayton authored
      Empty structs were being serialized as `null`, when they should have been serialized as `{}`.
      
      This was due to the type inference on the serializer - where no calls to `field()` would result in the default `null` type.
      
      To solve this, the `serialize(const void* object, const std::initializer_list<Field>&)` inline helper has been promoted to a virtual function (and renamed to `fields()`).
      The JSON serializer implementation of this now first sets the object type to `object`, even if there are no fields to serialize.
      
      Added test for this.
      
      Fixes: #10
    • Format all source files · 3a10d4ca
      Ben Clayton authored