handlePacket method

  1. @override
void handlePacket(
  1. Uint8List packet
)
override

Implementation

@override
void handlePacket(Uint8List packet) {
  packetId = packetS.getUint8();
  switch (packetId) {
    case MSG_KEXINIT.ID:
      state = state == SSHTransportState.FIRST_KEXINIT
          ? SSHTransportState.FIRST_KEXREPLY
          : SSHTransportState.KEXREPLY;
      handleMSG_KEXINIT(MSG_KEXINIT()..deserialize(packetS), packet);
      break;

    case MSG_KEXDH_INIT.ID:
    case MSG_KEX_DH_GEX_INIT.ID:
      handleMSG_KEXDH_INIT(packetId, packet);
      break;

    case MSG_KEX_DH_GEX_REQUEST.ID:
      handleMSG_KEX_DH_GEX_REQUEST(
          MSG_KEX_DH_GEX_REQUEST()..deserialize(packetS));
      break;

    case MSG_NEWKEYS.ID:
      handleMSG_NEWKEYS();
      break;

    case MSG_SERVICE_REQUEST.ID:
      handleMSG_SERVICE_REQUEST(MSG_SERVICE_REQUEST()..deserialize(packetS));
      break;

    case MSG_USERAUTH_REQUEST.ID:
      handleMSG_USERAUTH_REQUEST(
          MSG_USERAUTH_REQUEST()..deserialize(packetS));
      break;

    case MSG_CHANNEL_OPEN.ID:
      handleMSG_CHANNEL_OPEN(
          MSG_CHANNEL_OPEN()..deserialize(packetS), packetS);
      break;

    case MSG_CHANNEL_REQUEST.ID:
      handleMSG_CHANNEL_REQUEST(MSG_CHANNEL_REQUEST()..deserialize(packetS));
      break;

    case MSG_CHANNEL_OPEN_CONFIRMATION.ID:
      handleMSG_CHANNEL_OPEN_CONFIRMATION(
          MSG_CHANNEL_OPEN_CONFIRMATION()..deserialize(packetS));
      break;

    case MSG_CHANNEL_DATA.ID:
      handleMSG_CHANNEL_DATA(MSG_CHANNEL_DATA()..deserialize(packetS));
      break;

    case MSG_CHANNEL_EOF.ID:
      handleMSG_CHANNEL_EOF(MSG_CHANNEL_EOF()..deserialize(packetS));
      break;

    case MSG_CHANNEL_CLOSE.ID:
      handleMSG_CHANNEL_CLOSE(MSG_CHANNEL_CLOSE()..deserialize(packetS));
      break;

    case MSG_DISCONNECT.ID:
      handleMSG_DISCONNECT(MSG_DISCONNECT()..deserialize(packetS));
      break;

    default:
      if (print != null) {
        print('$hostport: unknown packet number: $packetId, len $packetLen');
      }
      break;
  }
}