/// <summary> /// Base constructor. /// </summary> /// <param name="handlers">All handlers for storing.</param> /// <param name="defaultRequestHandler"></param> /// <param name="defaultResponseHandler"></param> /// <param name="defaultEventHandler"></param> public ServerHandlerList(IEnumerable <IHandler <IServerPeer> > handlers, IDefaultRequestHandler <IServerPeer> defaultRequestHandler, IDefaultResponseHandler <IServerPeer> defaultResponseHandler, IDefaultEventHandler <IServerPeer> defaultEventHandler) { _defaultEventHandler = defaultEventHandler; _defaultRequestHandler = defaultRequestHandler; _defaultResponseHandler = defaultResponseHandler; _requestCodeHandlerList = new List <IHandler <IServerPeer> >(); _requestSubCodeHandlerList = new List <IHandler <IServerPeer> >(); _responseCodeHandlerList = new List <IHandler <IServerPeer> >(); _responseSubCodeHandlerList = new List <IHandler <IServerPeer> >(); _eventCodeHandlerList = new List <IHandler <IServerPeer> >(); _eventSubCodeHandlerList = new List <IHandler <IServerPeer> >(); foreach (var handler in handlers) { RegisterHandler(handler); } }