Go to Post Way to think outside the box...or circle..or triangle. - Barry Bonzack [more]
Home
Go Back   Chief Delphi > Technical > Programming
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Closed Thread
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 06-09-2013, 19:44
William Kunkel William Kunkel is offline
Programming Lead
AKA: Kunkel
FRC #0422 (Mech Tech Dragons)
Team Role: Programmer
 
Join Date: Jan 2013
Rookie Year: 2011
Location: Richmond, VA
Posts: 94
William Kunkel is an unknown quantity at this point
Network Tables Rev. 2.0 Questions

Hi! I was reading the Network Tables Protocol Specification (Revision 2.0), and I have a few questions about things that seem vague or missing from the document, if anyone could possibly answer them.
  1. Once an entry is created, can it be removed, or does it persist for the life of the server?
  2. If a server sends an Entry Assignment message to a client whose local network table already contains the ID, what is the client expected to do? Drop the request? Replace the existing entry?
  3. Can the length of arrays of values change?
  4. Is there a maximum length to arrays?

Thanks a bunch!
  #2   Spotlight this post!  
Unread 06-09-2013, 20:36
Greg McKaskle Greg McKaskle is offline
Registered User
FRC #2468 (Team NI & Appreciate)
 
Join Date: Apr 2008
Rookie Year: 2008
Location: Austin, TX
Posts: 4,756
Greg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond repute
Re: Network Tables Rev. 2.0 Questions

1. There is no delete. It actually persists if the server or a client holds onto the value.
2. I agree that the spec is loose. I chose to reassign and let the latest win. This can even happen with updates.
3. Yes
4. The LV implementation seems to limit it to 255 elements. This is done at the update transfer. So local arrays could technically be larger, but wouldn't transfer to the other client/server(s). Similarly, string size is limited to a two byte integer.

Greg McKaskle
  #3   Spotlight this post!  
Unread 06-09-2013, 20:46
William Kunkel William Kunkel is offline
Programming Lead
AKA: Kunkel
FRC #0422 (Mech Tech Dragons)
Team Role: Programmer
 
Join Date: Jan 2013
Rookie Year: 2011
Location: Richmond, VA
Posts: 94
William Kunkel is an unknown quantity at this point
Re: Network Tables Rev. 2.0 Questions

Cool, thanks!
  #4   Spotlight this post!  
Unread 07-09-2013, 12:09
William Kunkel William Kunkel is offline
Programming Lead
AKA: Kunkel
FRC #0422 (Mech Tech Dragons)
Team Role: Programmer
 
Join Date: Jan 2013
Rookie Year: 2011
Location: Richmond, VA
Posts: 94
William Kunkel is an unknown quantity at this point
Re: Network Tables Rev. 2.0 Questions

Alright, one more question. Can there be multiple entries with the same name?
  #5   Spotlight this post!  
Unread 07-09-2013, 18:53
Greg McKaskle Greg McKaskle is offline
Registered User
FRC #2468 (Team NI & Appreciate)
 
Join Date: Apr 2008
Rookie Year: 2008
Location: Austin, TX
Posts: 4,756
Greg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond repute
Re: Network Tables Rev. 2.0 Questions

I don't believe that should happen. LV looks up the fully qualified name in the map and retrieves the field ID. If we wanted, we could add the type to the name and allow for a number, a Boolean, and a String with the same name. My interp of the spec was that if the name matches, it can change type and value and it would be better to have only one field with a given name. I can't speak as confidently of the Java implementation.

Greg McKaskle
  #6   Spotlight this post!  
Unread 07-09-2013, 19:03
William Kunkel William Kunkel is offline
Programming Lead
AKA: Kunkel
FRC #0422 (Mech Tech Dragons)
Team Role: Programmer
 
Join Date: Jan 2013
Rookie Year: 2011
Location: Richmond, VA
Posts: 94
William Kunkel is an unknown quantity at this point
Re: Network Tables Rev. 2.0 Questions

It was meant more as a question of the spec, not a specific implementation (as I'm in the process of writing my own implementation). But it does seem unreasonable to have two entries with the same name.
  #7   Spotlight this post!  
Unread 07-09-2013, 21:20
William Kunkel William Kunkel is offline
Programming Lead
AKA: Kunkel
FRC #0422 (Mech Tech Dragons)
Team Role: Programmer
 
Join Date: Jan 2013
Rookie Year: 2011
Location: Richmond, VA
Posts: 94
William Kunkel is an unknown quantity at this point
Re: Network Tables Rev. 2.0 Questions

Hah, so much for there only being one more question. If a client receives an Entry Update or Entry Assignment message with a sequence number less than the sequence number it has recorded, is it supposed to just drop it? I know a server ought to, but I'm not sure about a client.
  #8   Spotlight this post!  
Unread 08-09-2013, 08:19
Greg McKaskle Greg McKaskle is offline
Registered User
FRC #2468 (Team NI & Appreciate)
 
Join Date: Apr 2008
Rookie Year: 2008
Location: Austin, TX
Posts: 4,756
Greg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond repute
Re: Network Tables Rev. 2.0 Questions

I know how it goes. I must have asked the WPI folks twenty questions while implementing the LV one. And I'm typically telling you what the implementation does because honestly it is quicker for me to read than the spec.

So, in the same vein, for the LV implementation, the client takes the value update from the server no matter what, but the server takes client updates only if they have a newer seq#. Local updates increment the sequence number and protocol updates don't. The assignments are basically the same, but they don't ever increment.

Greg McKaskle
Closed Thread


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -5. The time now is 03:20.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi