プロトコルを説明しないと分かりにくいと思う('ω'`)