diff mbox series

c++tools : Add a simple handler for ModuleCompiledRequest.

Message ID 29C079CA-1093-4152-846A-98FA298B1899@sandoe.co.uk
State New
Headers show
Series c++tools : Add a simple handler for ModuleCompiledRequest. | expand

Commit Message

Iain Sandoe Aug. 18, 2021, 7:13 p.m. UTC
Hi,

I have found it useful when working with modules stuff to have the completed
set of command/responses available (some people working with the interfaces
for more sophisticated tools are using them).  This message is a hand-shake
telling the server that a CMI has been built, and for the simplistic server
implementation doesn’t need to do anything.

This just replies with "OK”.

Tested on x86_64-darwin.
OK for master?
thanks
Iain

c++tools/ChangeLog:

	* resolver.cc (module_resolver::ModuleCompiledRequest):
	Add a simple handler.
	* resolver.h: Declare handler for ModuleCompiledRequest.
---
 c++tools/resolver.cc | 7 +++++++
 c++tools/resolver.h  | 4 ++++
 2 files changed, 11 insertions(+)

Comments

Jason Merrill Sept. 9, 2021, 4:15 p.m. UTC | #1
On 8/18/21 3:13 PM, Iain Sandoe wrote:
> Hi,
> 
> I have found it useful when working with modules stuff to have the completed
> set of command/responses available (some people working with the interfaces
> for more sophisticated tools are using them).  This message is a hand-shake
> telling the server that a CMI has been built, and for the simplistic server
> implementation doesn’t need to do anything.
> 
> This just replies with "OK”.
> 
> Tested on x86_64-darwin.
> OK for master?
> thanks
> Iain
> 
> c++tools/ChangeLog:
> 
> 	* resolver.cc (module_resolver::ModuleCompiledRequest):
> 	Add a simple handler.
> 	* resolver.h: Declare handler for ModuleCompiledRequest.
> ---
>   c++tools/resolver.cc | 7 +++++++
>   c++tools/resolver.h  | 4 ++++
>   2 files changed, 11 insertions(+)
> 
> diff --git a/c++tools/resolver.cc b/c++tools/resolver.cc
> index edd4624b121..f862161095d 100644
> --- a/c++tools/resolver.cc
> +++ b/c++tools/resolver.cc
> @@ -307,3 +307,10 @@ module_resolver::IncludeTranslateRequest (Cody::Server *s, Cody::Flags,
>     return 0;
>   }

Could use a comment here.  OK with that added.

> +int
> +module_resolver::ModuleCompiledRequest (Cody::Server *s, Cody::Flags,
> +				      std::string &)
> +{
> +  s->OKResponse();
> +  return 0;
> +}
> diff --git a/c++tools/resolver.h b/c++tools/resolver.h
> index b2f4381b4fa..c1ce9564e7f 100644
> --- a/c++tools/resolver.h
> +++ b/c++tools/resolver.h
> @@ -96,6 +96,10 @@ public:
>   				       std::string &include)
>       override;
>   
> +  using parent::ModuleCompiledRequest;
> +  virtual int ModuleCompiledRequest (Cody::Server *s, Cody::Flags Flags,
> +				     std::string &Module) override;
> +
>   private:
>     using parent::GetCMISuffix;
>     virtual char const *GetCMISuffix () override;
>
Iain Sandoe Sept. 14, 2021, 6:19 p.m. UTC | #2
> On 9 Sep 2021, at 17:15, Jason Merrill <jason@redhat.com> wrote:
> 
> On 8/18/21 3:13 PM, Iain Sandoe wrote:
>> Hi,
>> I have found it useful when working with modules stuff to have the completed
>> set of command/responses available (some people working with the interfaces
>> for more sophisticated tools are using them).  This message is a hand-shake
>> telling the server that a CMI has been built, and for the simplistic server
>> implementation doesn’t need to do anything.
>> This just replies with "OK”.
>> Tested on x86_64-darwin.
>> OK for master?
>> thanks
>> Iain
>> c++tools/ChangeLog:
>> 	* resolver.cc (module_resolver::ModuleCompiledRequest):
>> 	Add a simple handler.
>> 	* resolver.h: Declare handler for ModuleCompiledRequest.
>> ---
>>  c++tools/resolver.cc | 7 +++++++
>>  c++tools/resolver.h  | 4 ++++
>>  2 files changed, 11 insertions(+)
>> diff --git a/c++tools/resolver.cc b/c++tools/resolver.cc
>> index edd4624b121..f862161095d 100644
>> --- a/c++tools/resolver.cc
>> +++ b/c++tools/resolver.cc
>> @@ -307,3 +307,10 @@ module_resolver::IncludeTranslateRequest (Cody::Server *s, Cody::Flags,
>>    return 0;
>>  }
> 
> Could use a comment here.  OK with that added.

this is what I pushed,
thanks
Iain

[PATCH] c++tools : Add a simple handler for ModuleCompiledRequest.

This just replies with "OK".

c++tools/ChangeLog:

	* resolver.cc (module_resolver::ModuleCompiledRequest):
	Add a simple handler.
	* resolver.h: Declare handler for ModuleCompiledRequest.
---
 c++tools/resolver.cc | 11 +++++++++++
 c++tools/resolver.h  |  4 ++++
 2 files changed, 15 insertions(+)

diff --git a/c++tools/resolver.cc b/c++tools/resolver.cc
index edd4624b121..421fdaa55fe 100644
--- a/c++tools/resolver.cc
+++ b/c++tools/resolver.cc
@@ -307,3 +307,14 @@ module_resolver::IncludeTranslateRequest (Cody::Server *s, Cody::Flags,
   return 0;
 }
 
+/* This handles a client notification to the server that a CMI has been
+   produced for a module.  For this simplified server, we just accept
+   the transaction and respond with "OK".  */
+
+int
+module_resolver::ModuleCompiledRequest (Cody::Server *s, Cody::Flags,
+				      std::string &)
+{
+  s->OKResponse();
+  return 0;
+}
diff --git a/c++tools/resolver.h b/c++tools/resolver.h
index b2f4381b4fa..c1ce9564e7f 100644
--- a/c++tools/resolver.h
+++ b/c++tools/resolver.h
@@ -96,6 +96,10 @@ public:
 				       std::string &include)
     override;
 
+  using parent::ModuleCompiledRequest;
+  virtual int ModuleCompiledRequest (Cody::Server *s, Cody::Flags Flags,
+				     std::string &Module) override;
+
 private:
   using parent::GetCMISuffix;
   virtual char const *GetCMISuffix () override;
--
diff mbox series

Patch

diff --git a/c++tools/resolver.cc b/c++tools/resolver.cc
index edd4624b121..f862161095d 100644
--- a/c++tools/resolver.cc
+++ b/c++tools/resolver.cc
@@ -307,3 +307,10 @@  module_resolver::IncludeTranslateRequest (Cody::Server *s, Cody::Flags,
   return 0;
 }
 
+int
+module_resolver::ModuleCompiledRequest (Cody::Server *s, Cody::Flags,
+				      std::string &)
+{
+  s->OKResponse();
+  return 0;
+}
diff --git a/c++tools/resolver.h b/c++tools/resolver.h
index b2f4381b4fa..c1ce9564e7f 100644
--- a/c++tools/resolver.h
+++ b/c++tools/resolver.h
@@ -96,6 +96,10 @@  public:
 				       std::string &include)
     override;
 
+  using parent::ModuleCompiledRequest;
+  virtual int ModuleCompiledRequest (Cody::Server *s, Cody::Flags Flags,
+				     std::string &Module) override;
+
 private:
   using parent::GetCMISuffix;
   virtual char const *GetCMISuffix () override;