def encode(self, records): if isinstance(records, Protocol): records = [records] pkgs = [] for record in records: if not isinstance(record, Protocol): raise TypeError("Record must be of type flextls.protocol.Protocol()") self.state.update(record) if isinstance(record, DTLSv10Handshake): record.message_seq = self._handshake_next_send_seq self._handshake_next_send_seq += 1 dtls_record = DTLSv10Record( connection=self ) ver_major, ver_minor = helper.get_tls_version(self._cur_protocol_version) dtls_record.version.major = ver_major dtls_record.version.minor = ver_minor dtls_record.set_payload(record) dtls_record.epoch = self._epoch dtls_record.sequence_number = self._record_next_send_seq pkgs.append(dtls_record.encode()) self._record_next_send_seq += 1 return pkgs
def encode(self, records): if isinstance(records, Protocol): records = [records] pkgs = [] for record in records: if isinstance(record, Protocol): self.state.update(record) tls_record = SSLv3Record( connection=self ) ver_major, ver_minor = helper.get_tls_version(self._cur_protocol_version) tls_record.version.major = ver_major tls_record.version.minor = ver_minor tls_record.set_payload(record) pkgs.append(tls_record.encode()) else: raise TypeError("Record must be of type flextls.protocol.Protocol()") return pkgs