weird sendOutgoingCommands behavior

KevinB
KevinB
edited December 2012 in Native
Hi,

Once in a while in my client, I see this debug print from the photon core:
2012-12-17 04:00:13,229570 INFO EnetPeer.cpp sendOutgoingCommands() line: 175 - going to resend pCommand: time: 123031 = 123030 sentCount: 1, original sentTime: 122930
2012-12-17 04:00:13,331575 WARNING EnetPeer.cpp removeSentReliableCommand() line: 1009 - ACK w/o command! ackReceivedReliableSequenceNumber=57 ackReceivedChannel=255


these messages come in pair usually.

when I look at the log, the client wasn't even sending any command to the server when this happens.

anyone has any idea what would that be? is there anyway to turn on even more debug info in the c++ photon lib?

K

Comments

  • While you don't send something reliable, the client lib will throw in a ping every now and then to check the connection (or timeout doing so).
    This will explain why you get traffic even if nothing is sent by you.

    The messages you get are INFO and WARNING level.

    Info is more or less just for anyone who is taking a look at low level stuff. In this case, a command wasn't ACKd before it's re-send time has arrived. This is not a problem unless it happens nearly all the time (then you will run into a timeout).
    The warning is connected to this "problem". Sometimes ACKs arrive after a command was repeated. The other side will ACK both copies (just to make sure the other side understands they arrived). If both ACKs arrive, only the first will clear the command to be ackd. The other will "fail".
  • is there a way to turn on more debugging info so that I know which command/operation is being resent or ack? Thanks.

    K
  • On the level of commands, you can't see which operation is repeated.
    Operations are serialized, put into commands and those into UDP packages.
    You usually should not need to bother about which op is repeated.