update PipeProtocol