[Xastir] "UP" on QUERIES

Russo Tom russo at bogodyn.org
Mon May 28 10:06:15 PDT 2018


On Mon, May 28, 2018 at 10:02:38AM -0600, we recorded a bogon-computron collision of the <russo at bogodyn.org> flavor, containing:
> On Mon, May 28, 2018 at 07:46:15AM +0200, we recorded a bogon-computron collision of the <f1mhv at free.fr> flavor, containing:
> > Hi Tom,
> > 
> > Now the Xastir???s queries process is clear. Therefore, could-it be (easily) possible to modify the messaging file code in order to introduce a rule that any manually entered message beginning with ?? ???? ?? would-be process without message-id ? The ?? dinosaur ?? aka uiview have such a rule. Taking example with HF APRS ops, sometime i can???t hear direct some digi/igates due to propagation skip but i know they are ?? on air ??, then sending manually a ?APRSD relayed by "in range" igates, when getting the answer i can make a picture of actual propagation status at this station, quite useful for HF ops.
> 
> That is probably the right approach, but I do remember looking into doing
> exactly that a long time ago and not being able to figure out the code 
> enough to get it done.  I have not looked into it since, and maybe it is in 
> fact easy to do.  Maybe this would be a good one for a volunteer to look into
> and maybe submit some code changes?

I took a really quick look at this just now.  Unfortunately, quick looks are
all I have time for -- I can see how one would get this done, but I don't have
time to do it myself right now.  

I now remember why I thought this would be difficult the first time I looked 
at it.  But now that I look at it again I don't really think it would be 
difficult now.  I think my previous conclusion was based on thinking that
this work had to be done outside of the GUI code, and I couldn't figure out
where.  But that's wrong thinking.

Basically, the code in message_gui.c is always sending the message text through
a code path that ultimately enters the message into a queue of messages
to be retransmitted until they get acked.  All of the code that actually does
the heavy lifting of managing the queue is in messages.c.  But the decision
to put it through that path (and the addition of the message ID) is made way 
up at the dialog box level, which is where the decision to treat it as a 
message-id-free query will have to go, too.  That function is 
"Send_message_now" in message_gui.c.

The various directed query buttons (whose code is all in db.c) don't go 
through that path at all, they construct the message package themselves and 
call a low level function "transmit_message_data" that bypasses all of the
queue and ack stuff, and just transmits the message once.

So really, what's needed here is an extra bit of logic way up in the code
that handles the message GUI to check if the entire message is one of the
legal queries, and if so skip everything else that would be done and 
just construct a packet and call "transmit_message_data" directly.

That would not be difficult, but doing it neatly might take a little work.
One would have to be careful to do more work than just check for the first
character being a "?" --- only the handful of legal (12) queries should be 
going through that path, not everything that starts with a "?".  

I suggest that you open an issue on the GitHub issue tracker and I'll mark
it as "Good First Issue" so that maybe a volunteer can use it to get his or 
her feet wet.

> > > 
> > > ???..Which clearly shows that we do NOT process directed queries if they have a
> > > message id.  That's spec compliant, but it means that you must also be
> > > able to *send* directed queries without message ids somehow.  Right now,
> > > the ONLY way Xastir has to do that is via the handful of directed query
> > > buttons in the station info dialog.  Which means you can only send directed
> > > queries if the station you want to query has actually been heard from by
> > > your station???.
> > 
> > 
> > 73 de Cyril - DF1CHB/AM - F1MHV/M
> 
> -- 
> Tom Russo    KM5VY
> Tijeras, NM  
> 
>  echo "prpv_a'rfg_cnf_har_cvcr" | sed -e 's/_/ /g' | tr [a-m][n-z] [n-z][a-m]
> 
> _______________________________________________
> Xastir mailing list
> Xastir at lists.xastir.org
> http://xastir.org/mailman/listinfo/xastir

-- 
Tom Russo    KM5VY
Tijeras, NM  

 echo "prpv_a'rfg_cnf_har_cvcr" | sed -e 's/_/ /g' | tr [a-m][n-z] [n-z][a-m]



More information about the Xastir mailing list