diff options
| author | Shireesh Anjal <shireesh@gluster.com> | 2011-03-25 15:43:32 +0530 |
|---|---|---|
| committer | Shireesh Anjal <shireesh@gluster.com> | 2011-03-25 15:43:32 +0530 |
| commit | e40556bdf8fd27e35878a8c1942573da46204b7e (patch) | |
| tree | b4cf1ec243bf13aee4269981d8f8aeeaa57f1c15 /com.gluster.storage.management.server.scripts/src/nodes/Socket.py | |
| parent | 9e2122cf8ae1273bb8cdcbcc0f8fb2176f14a428 (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.py | 47 |
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() + + |
