9:30 -2:00 Tech support
- After many e-mails and phone calls, it looks like the server is now operational and fgmdev.com is pointing to it. We still need to transfer domain ownership once we get a account with http://www.enom.com
- Everything is the same on the new server; if you need to ftp, make sure your using sftp.
- I need to figure out how to reset RSA key so I can SSH in. Just noticed this at the end of the day, so I’ll look into it tomorrow
- Noticed the printer had printed out a bunch of junk last night. I am not sure why this happened, but I found that there was a firmware update, dated sometime last month. Hopefully it works better in the future in general
- Called Comcast about outages, looks like they finally got around to fixing the problem
2:00-5:30
- I think I finally got the state machine working right. I will have to examine this more closely tomorrow.
char ComUtil::changeState()
{
if(_rState == RTS && (_lState == READY || _lState == DONE)) //Receiving states I think it is important that this is checked first
_lState = CTS;
else if(_rState == SENDING && _lState == CTS)
_lState = RECEIVING; //Stay in this state til all packets are sent
else if(_hasData == true && (_lState == READY || _lState == DONE) && (_rState == READY || _rState == DONE)) //This state only happens on first send of if the receiver has nothing to send. Finished Processing automatically put the receiver into a RTS state if it has data
_lState = RTS;
else if(_rState == CTS && _lState == RTS)
_lState = SENDING;
else if(_rState == SENDING && _lState == ACKNOWLEDGE)
_lState = RECEIVING;
else if(_rState == ACKNOWLEDGE && _lState == WAITING)
_lState = SENDING;
else if(_rState == DONE && _lState == ACKNOWLEDGE) //When the last packet is sent the sender goes into a DONE state
_lState = PROCESSING;
return _lState;
}
- This method feeds into a switch statement which looks for SENDING and RECEIVING states. These two states require more then a simple change of state, which is why they are processed separately. Once one side sends something it goes into a WAITING, depending on how many packets are to be sent. It will stay in that state til it gets an ACKNOWLEDGE from the other side. Likewise if the local state is RECEIVING, it will change to ACKNOWLEDGE after it receives. On the last packet sent, the sender goes to a DONE state which triggers the receiver to go to a PROCESSING state. It stays in the PROCESSING state til an external element calls the finishedProcessing() method. Once finished processing, the receiver goes into either a RTS or DONE state, depending on if it has data.
- Added a public boolean method called isProcessing(), so the data dictionary will know when it needs to ingest data.
- If the sender goes into a DONE state after the last packet sent, number of packets sent does not need to be sent across the wire. This means each message is only 1 byte, as only the state needs to be sent.
- The inclusion of the WAITING and ACKNOWLEDGE states, should fix the problems I found while testing on Monday, where it was sending more data before the other side was ready.
End: 5:30
