Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1893)

Unified Diff: native_client_sdk/src/libraries/nacl_io/socket/fifo_packet.cc

Issue 1679643002: nacl_io: Add SOCK_DGRAM support to socketpair() (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: code review feedback Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: native_client_sdk/src/libraries/nacl_io/socket/fifo_packet.cc
diff --git a/native_client_sdk/src/libraries/nacl_io/socket/fifo_packet.cc b/native_client_sdk/src/libraries/nacl_io/socket/fifo_packet.cc
index 3e5c330b52f35babbe5ffd7a5ccf38da6e06b953..cf4a6516764cd43e00aa2651c0c0846b6aaaeb04 100644
--- a/native_client_sdk/src/libraries/nacl_io/socket/fifo_packet.cc
+++ b/native_client_sdk/src/libraries/nacl_io/socket/fifo_packet.cc
@@ -68,4 +68,28 @@ void FIFOPacket::WritePacket(Packet* packet) {
packets_.push_front(packet);
}
+size_t FIFOPacket::Read(void* buf, size_t len) {
+ Packet* packet = ReadPacket();
+ if (!packet)
+ return 0;
+
+ size_t bytes = packet->len();
+ if (bytes > len)
+ bytes = len;
+ memcpy(buf, packet->buffer(), bytes);
+
+ delete packet;
+ return bytes;
+}
+
+size_t FIFOPacket::Write(const void* buf, size_t len) {
+ if (len > WriteAvailable())
+ return 0;
+
+ Packet* packet = new Packet(NULL);
+ packet->Copy(buf, len, 0);
+ WritePacket(packet);
+ return len;
+}
+
} // namespace nacl_io

Powered by Google App Engine
This is Rietveld 408576698