public void We_should_go_through_the_list_quickly() { DerivedObject obj = new DerivedObject("Chris", "Patterson", "Pimp"); DerivedObject obj2 = new DerivedObject("Joe", "Blow", "Daddy"); //IObjectFormatter fomatter = new XmlObjectFormatter(); MemoryStream mstream = new MemoryStream(); using(IObjectFormatter formatter = new BEncodeObjectFormatter(mstream)) using(IObjectSerializer serializer = new BasicObjectSerializer(formatter)) { serializer.Serialize(formatter, obj); serializer.Serialize(formatter, obj2); } Debug.WriteLine("DATA: " + Encoding.UTF8.GetString(mstream.ToArray())); MemoryStream mdecode = new MemoryStream(mstream.ToArray()); using(BDecode decoder = new BDecode(mdecode)) { object newObj = decoder.Read(TimeSpan.FromSeconds(200)); Assert.That(newObj, Is.Not.Null); Assert.That(newObj, Is.TypeOf(typeof(DerivedObject)), "Invalid Type Received"); object newObj2 = decoder.Read(TimeSpan.FromSeconds(200)); Assert.That(newObj2, Is.Not.Null); Assert.That(newObj2, Is.TypeOf(typeof(DerivedObject)), "Invalid Type Received"); } }
public PeerConnection(Socket socket, EndPoint endpoint, Action <PeerConnection> disposeCallback) { _endpoint = endpoint; _disposeCallback = disposeCallback; _socket = socket; _stream = new NetworkStream(_socket, FileAccess.ReadWrite, true); _stream.ReadTimeout = 1200000; _stream.WriteTimeout = 10000; _decoder = new BDecode(_stream); _formatter = new BEncodeObjectFormatter(_stream); _serializer = new BasicObjectSerializer(_formatter); }