C# (CSharp) TransportService Namespace

Nested Namespaces

TransportService.Messages

Classes

Name Description
BufferChunk Internal class to the TransportService assembly. This class represents a single element of a file streamed over the network. It consists in an array of byte (the part of the stream), a state representing the chunk condition and some other structures useful to make requests over a specific chunk to die and resurrect automatically.
NextArrivedEventArgs Class used to pass information about the payload arrived from the sender peer.
PeerQueue Class representing the queue of peer recognized as senders of a particular resource. It works to allow to balance load over peer while chosing every time the best peer to request to. This class is strictly connected to its foundamentals elements represented by theclass PeerQueueElement.
PeerQueueElement This class represent an abstraction of the peer from the point of view of a requestor. It is used inside a PeerQueue. The class internally stores a channel used to communicate with other peer. It is useful to avoid opening and closing the channel. This class is strictly coupled with PeerQueue.
ThreadPool ThreadPool implementation realized inside the TransportService. It is useful to have an indipendent version of the thread pool in this case because using the official .NET implementation the number of total "pool" peer is reduced by other elements; this is bad here because in this part of the project there are realtime requirements. This class is strictly coupled with the ThreadPoolObject class.
ThreadPoolObject This class represents a single object of the ThreadPool. It contains a Thread using the paradigm AsOne in order to hide proper methods of a thread class. Each thread has a condition state that indicates wheather the thread is busy or free.
TransportProtocol