summaryrefslogtreecommitdiffstats
path: root/com.gluster.storage.management.server.scripts/src/nodes/Socket.py
diff options
context:
space:
mode:
authorShireesh Anjal <shireesh@gluster.com>2011-03-25 15:43:32 +0530
committerShireesh Anjal <shireesh@gluster.com>2011-03-25 15:43:32 +0530
commite40556bdf8fd27e35878a8c1942573da46204b7e (patch)
treeb4cf1ec243bf13aee4269981d8f8aeeaa57f1c15 /com.gluster.storage.management.server.scripts/src/nodes/Socket.py
parent9e2122cf8ae1273bb8cdcbcc0f8fb2176f14a428 (diff)
Server agent and transport agent
Diffstat (limited to 'com.gluster.storage.management.server.scripts/src/nodes/Socket.py')
-rw-r--r--com.gluster.storage.management.server.scripts/src/nodes/Socket.py47
1 files changed, 47 insertions, 0 deletions
diff --git a/com.gluster.storage.management.server.scripts/src/nodes/Socket.py b/com.gluster.storage.management.server.scripts/src/nodes/Socket.py
new file mode 100644
index 00000000..ba6b6ad0
--- /dev/null
+++ b/com.gluster.storage.management.server.scripts/src/nodes/Socket.py
@@ -0,0 +1,47 @@
+import socket
+import sys
+import Globals
+
+def openServerSocket(bindAddress="", port=Globals.SERVER_AGENT_PORT):
+ sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+ sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
+ sock.bind((bindAddress, port))
+ sock.listen(1)
+ return sock
+
+
+def connectToServer(serverName, port=Globals.SERVER_AGENT_PORT):
+ sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+ sock.connect((serverName, port))
+ print "__DEBUG__ connected to ", serverName, " on port ", port
+ inputStream = sock.makefile("r")
+ outputStream = sock.makefile("w")
+ return sock, inputStream, outputStream
+
+
+def acceptClient(serverSocket):
+ clientSocket, clientAddress = serverSocket.accept()
+ clientInputStream = clientSocket.makefile("r")
+ clientOutputStream = clientSocket.makefile("w")
+ return clientSocket, clientAddress, clientInputStream, clientOutputStream
+
+
+def readPacket(inputStream):
+ packetString = ""
+ while True:
+ line = inputStream.readline()
+ print "__DEBUG__", line
+ if not line:
+ break
+ if line.strip() == "":
+ # end of input received
+ return packetString
+ packetString += line
+ return packetString
+
+
+def writePacket(outputStream, packetString):
+ rv = outputStream.write(packetString.strip() + "\n\n")
+ outputStream.flush()
+
+