pub fn record_local(&self, addr: RemotePtr<Void>, data: &[u8]) {
        self.maybe_flush_syscallbuf();

        if addr.is_null() {
            return;
        }

        self.trace_writer_mut().write_raw(self.rec_tid, data, addr);
    }
/// Save tracee data to the trace.  `addr` is the address in
/// the address space of this task.  The `record_local*()`
/// variants record data that's already been read from `self`,
/// and the `record_remote*()` variants read the data and then
/// record it.
///
/// If 'addr' is null then no record is written.
///
/// DIFF NOTE: @TODO In the rr implementation ssize_t is being used instead of size_t
/// for the record_* methods in many places. Why?
Save tracee data to the trace.  `addr` is the address in
the address space of this task.

If 'addr' is null then no record is written.

DIFF NOTE: @TODO In the rr implementation ssize_t is being used instead of size_t
for the record_* methods in many places.
Save tracee data to the trace . ` addr ` is the address in the address space of this task . If ' addr ' is null then no record is written . DIFF NOTE : @TODO In the rr implementation ssize_t is being used instead of size_t for the record_ * methods in many places .
pub fn record_local(&self, addr: RemotePtr<Void>, data: &[u8]) {
        self.maybe_flush_syscallbuf();
        if addr.is_null() {
            return;
        }
        self.trace_writer_mut().write_raw(self.rec_tid, data, addr);
    }
pub fn record_local ( & self , addr : RemotePtr < Void > , data : & [ u8 ] ) { self . maybe_flush_syscallbuf ( ) ; if addr . is_null ( ) { return ; } self . trace_writer_mut ( ) . write_raw ( self . rec_tid , data , addr ) ; }
Save tracee data to the trace.
Save tracee data to the trace .
&self
addr
RemotePtr<Void>
data
&[u8]