From 6769c3d243e559bb9eda473a8bf2a922d0a651b1 Mon Sep 17 00:00:00 2001
From: davebshow <davebshow@gmail.com>
Date: Tue, 12 May 2015 22:26:30 -0400
Subject: [PATCH] streamling eof data flow

---
 aiogremlin/client.py   | 10 ++++++++--
 aiogremlin/protocol.py |  4 +++-
 benchmark.py           |  4 ++--
 3 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/aiogremlin/client.py b/aiogremlin/client.py
index 8c1f57c..1025ff0 100644
--- a/aiogremlin/client.py
+++ b/aiogremlin/client.py
@@ -162,10 +162,16 @@ class GremlinResponseStream:
 
     @asyncio.coroutine
     def read(self):
-        if self._queue.at_eof():
+        # For 3.0.0.M9
+        # if self._queue.at_eof():
+        #     self._conn.feed_pool()
+        #     message = None
+        # else:
+        # This will be different 3.0.0.M9
+        yield from self._conn._receive()
+        if self._queue.is_eof():
             self._conn.feed_pool()
             message = None
         else:
-            yield from self._conn._receive()
             message = yield from self._queue.read()
         return message
diff --git a/aiogremlin/protocol.py b/aiogremlin/protocol.py
index 4d8fee5..897acac 100644
--- a/aiogremlin/protocol.py
+++ b/aiogremlin/protocol.py
@@ -22,10 +22,12 @@ def gremlin_response_parser(out, buf):
                           message["status"]["message"])
         if message.status_code == 200:
             out.feed_data(message)
+            # For 3.0.0.M9
             # out.feed_eof()
+        # This will be terminated in 3.0.0.M9
         elif message.status_code == 299:
-            out.feed_data(message)
             out.feed_eof()
+        # For 3.0.0.M9
         # elif message.status_code == 206:
         #     out.feed_data(message)
         # elif message.status_code == 204:
diff --git a/benchmark.py b/benchmark.py
index a74ed05..2e8ada7 100644
--- a/benchmark.py
+++ b/benchmark.py
@@ -79,11 +79,11 @@ ARGS.add_argument(
     help='message count (default: `%(default)s`)')
 ARGS.add_argument(
     '-c', '--concurrency', action="store",
-    nargs='?', type=int, default=256,
+    nargs='?', type=int, default=100,
     help='count of parallel requests (default: `%(default)s`)')
 ARGS.add_argument(
     '-p', '--poolsize', action="store",
-    nargs='?', type=int, default=256,
+    nargs='?', type=int, default=100,
     help='num connected websockets (default: `%(default)s`)')
 ARGS.add_argument(
     '-w', '--warmups', action="store",
-- 
GitLab