sessionExpiryTimestampNs is not a fixed disconnect time. The gateway renews the session’s authorization in the background, so you do not need to reconnect when this timestamp passes.
Every message is preceded by the standard SBE messageHeader (blockLength, templateId, schemaId, version). See encodings.