Пример #1
0
 public void Dispose()
 {
     if (socket != null)
     {
         socket.Dispose();
         socket = null;
     }
 }
Пример #2
0
        private static IEnumerable<dynamic> GetIterator(ISparkCLRSocket socket, string serializedMode)
        {
            Log("Serialized mode in GetIterator: " + serializedMode);
            IFormatter formatter = new BinaryFormatter();
            int messageLength;
            do
            {
                messageLength = socket.ReadInt();

                if (messageLength > 0)
                {
                    byte[] buffer = socket.ReadBytes(messageLength);
                    switch (serializedMode)
                    {
                        case "String":
                            yield return SerDe.ToString(buffer);
                            break;

                        case "Row":
                            Unpickler unpickler = new Unpickler();
                            foreach (var item in (unpickler.loads(buffer) as object[]))
                            {
                                yield return item;
                            }
                            break;

                        case "Pair":
                            messageLength = socket.ReadInt();
                            byte[] value = socket.ReadBytes(messageLength);
                            yield return new KeyValuePair<byte[], byte[]>(buffer, value);
                            break;

                        case "Byte":
                        default:
                            var ms = new MemoryStream(buffer);
                            dynamic message = formatter.Deserialize(ms);
                            yield return message;
                            break;
                    }
                }

            } while (messageLength >= 0);
        }
Пример #3
0
 public void Initialize(int portNumber)
 {
     socket = new SparkCLRSocket();
     socket.Initialize(portNumber);
 }