We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

The Evolution of MonoTorrent

00:00

Formal Metadata

Title
The Evolution of MonoTorrent
Title of Series
Number of Parts
97
Author
License
CC Attribution 2.0 Belgium:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
MonoTorrent is an implementation of the BitTorrent protocol written in C# for the .NET platform. This talk will have two parts. The first part will revolve around the Piece Picking algorithm and how it evolved from a simplistic and inextensible initital implementation to its current highly extensible form as more complex behaviours were required. The second part will be about the different strategies used to manage the multi-threaded workload. A typical bittorrent download will open about 100 connections so it is critical that the syncronisation strategy used to access any shared state does not prevent the sockets from sending/receiving data, otherwise performance will suffer.
Operator (mathematics)Latent heatHacker (term)BitVolume (thermodynamics)Multiplication signLibrary (computing)Process (computing)Peer-to-peerExterior algebraNormal (geometry)Different (Kate Ryan album)Extension (kinesiology)MiniDiscReading (process)Cartesian coordinate systemThread (computing)View (database)CodeAlgorithmSocket-SchnittstelleStudent's t-testFile Transfer ProtocolLine (geometry)Connectivity (graph theory)GoogoloutputInformationAreaServer (computing).NET FrameworkWeightComputer fileElectronic signatureConnected space2 (number)Lecture/Conference
Thread (computing)InternetworkingGraphical user interfaceComputer fileIdeal (ethics)DeadlockLecture/Conference
Thread (computing)CASE <Informatik>Shared memoryOrder (biology)Wechselseitiger AusschlussDifferent (Kate Ryan album)NumberSerial portIdeal (ethics)Hazard (2005 film)Cartesian coordinate systemParallel portDeadlockLecture/Conference
Peer-to-peerWeb 2.0Thread (computing)MiniDiscBlock (periodic table)State of matterNetwork socketServer (computing)Connected spaceSocket-SchnittstelleCASE <Informatik>Order (biology)InformationComputer architectureCore dumpSystem callBitBoolean algebraSelectivity (electronic)Scaling (geometry)outputReading (process)Operator (mathematics)Loop (music)Multiplication signLecture/Conference
CurveComputer architectureCASE <Informatik>Thread (computing)Process (computing)System callLoop (music)Peer-to-peerLogicCartesian coordinate systemProxy serverNetwork socketSocket-SchnittstelleLecture/Conference
Network socketQueue (abstract data type)Execution unitPort scannerLoop (music)Object (grammar)Proxy serverLoop (music)Cartesian coordinate systemNetwork socketProcess (computing)System callCodeConnected spaceView (database)Point (geometry)Lambda calculus.NET FrameworkDeadlockOrder (biology)Thread (computing)Socket-SchnittstelleLibrary (computing)WeightLecture/Conference
Thread (computing)CASE <Informatik>Connected spaceMereologyException handlingCore dumpDeadlockLocal area networkLogicLecture/Conference
Network socketQueue (abstract data type)OvalLoop (music)BefehlsprozessorThread (computing)Operator (mathematics)2 (number)Loop (music)Condition numberPoint (geometry)Queue (abstract data type)Network socketNeuroinformatikState of matterImplementationSoftware frameworkComputer architectureLecture/Conference
Multiplication signThread (computing)Computer fileSocial classCodeRandomizationSoftware bugMiniDiscControl flowPerfect groupSoftware testingBranch (computer science)Cartesian coordinate systemCommunications protocolPoint (geometry)Condition numberOrder (biology)Extension (kinesiology)Network socketRule of inferenceDeadlockSystem callWeb 2.0CausalityChainUnit testingLecture/Conference
Convex hullSocial classLecture/Conference
Interior (topology)Maxima and minimaMoment of inertiaMUDSupremumInclusion mapConvex hullQuantumExecution unitMenu (computing)Color managementDefault (computer science)MIDIImplementationSocial classSubject indexingLatent heatRange (statistics)Line (geometry)Disk read-and-write headCodePoint (geometry)Computer fontLecture/Conference
Execution unitSocial classCodeField (computer science)Operator (mathematics)Line (geometry)Normal (geometry)BitElectronic mailing listMetropolitan area networkLecture/Conference
EmailOpen sourceVideoconferencingMultiplication signCartesian coordinate systemTouchscreenInformationComputer fileRevision controlBitGame theoryInternetworking1 (number)Library (computing)Motion captureExtension (kinesiology)Server (computing)Lecture/Conference
Extension (kinesiology)Human migrationGame theoryNeuroinformatikMedical imagingDistribution (mathematics)Computer fileBitServer (computing)Multiplication signUniform resource locatorLecture/Conference
Execution unitWechselseitige InformationMenu (computing)WindowStreaming mediaCartesian coordinate systemAuthenticationService (economics)WordVideoconferencingBand matrixSubject indexingComputer fileBitLimit setBuffer solutionMobile appTouch typingLibrary (computing)Connected spaceFault-tolerant systemPoint (geometry)Client (computing)Computer programmingServer (computing)Data storage deviceHypermediaLecture/Conference
Transcript: English(auto-generated)