MCPcopy Index your code
hub / github.com/google/gvisor / send

Method send

pkg/sentry/socket/plugin/stack/socket.go:739–753  ·  view source on GitHub ↗
(t *kernel.Task, src usermem.IOSequence, to []byte, sysflags int)

Source from the content-addressed store, hash-verified

737}
738
739func (s *socketOperations) send(t *kernel.Task, src usermem.IOSequence, to []byte, sysflags int) (int64, error) {
740 bytes := src.NumBytes()
741 // If src is empty, let plugin stack handle sending 0-byte data based on protocol.
742 if bytes == 0 {
743 rc := cgo.Sendto(s.fd, 0, 0, sysflags, to)
744 ret, err := translateReturn(rc)
745 return int64(ret), err
746 }
747
748 rw := getReadWriter(s.fd)
749 rw.to = to
750 n, err := src.CopyInTo(t, rw)
751 putReadWriter(rw)
752 return n, err
753}
754
755// SendMsg implements socket.Socket.SendMsg.
756func (s *socketOperations) SendMsg(t *kernel.Task, src usermem.IOSequence, to []byte, flags int, haveDeadline bool, deadline ktime.Time, controlMessages socket.ControlMessages) (int, *syserr.Error) {

Callers 1

SendMsgMethod · 0.95

Calls 6

SendtoFunction · 0.92
translateReturnFunction · 0.85
getReadWriterFunction · 0.85
putReadWriterFunction · 0.85
CopyInToMethod · 0.65
NumBytesMethod · 0.45

Tested by

no test coverage detected