;;; Cable room records are S-expressions signed by each peer's persistent key. ;;; C handles the authenticated Cesspool/uTP transport; S7 owns the record form. (define (cable:room-event->wire kind timestamp nick channel text) (list 'cable-room-event kind timestamp nick channel text)) (define (cable:room-wire-event? value) (and (list? value) (= (length value) 6) (eq? (car value) 'cable-room-event) (integer? (cadr value)) (integer? (caddr value)) (string? (list-ref value 3)) (string? (list-ref value 4)) (string? (list-ref value 5))))