EastEriq / LAST_Messaging

Messaging framework for the LAST project
0 stars 0 forks source link

syntax errors in `classcommand()` confuse the messengers and prevent further dialogue #2

Closed EastEriq closed 7 months ago

EastEriq commented 7 months ago

(this is after having brought multimessenger to production)

E.g. in a unit master

Unit.Camera{1}.classCommand('(')

The slave says

>> Unrecognized method, property, or field 'From' for class 'obs.util.Message'.

Error in obs.util.Messenger/datagramParser (line 75)
            M.Command,M.From.Host,M.From.Port,ME.message);

Error in obs.util.Messenger>@(varargin)Msng.datagramParser(varargin{:}) (line
17)
                Msng.StreamResource.DatagramReceivedFcn=@Msng.datagramParser;

Error in instrcb (line 42)
        feval(val{1}, obj, eventStruct, val{2:end});

After timeout the master says

{obs.util.Messenger} 03_slave_1.Messenger timed out waiting for a reply to "Unit.Camera{1}.("

but now

>> Unit.Slave{1}.Messenger.areYouThere
{obs.util.Messenger} 03_slave_1.Messenger timed out waiting for a reply to "true"

ans =

  logical

   0

and in the slave

>> MasterMessenger.whoIsThere
{obs.util.Messenger} localhost:8501->10.23.3.5:50001 timed out waiting for a reply to "Msng.Name"

ans =

     []

The Responders are still capable of communicating

EastEriq commented 7 months ago

Fixed by https://github.com/EastEriq/LAST_Messaging/commit/ec20b81ab3852b6b9df695ae44bdecf8e6c27b28