code: func (a *VppAdapter) MockReply(msgs ...api.Message) {
  	a.repliesLock.Lock()
  	defer a.repliesLock.Unlock()
  
  	r := reply{}
  	for _, msg := range msgs {
  		r.msgs = append(r.msgs, MsgWithContext{Msg: msg, hasCtx: false})
  	}
  	a.replies = append(a.replies, r)
  	a.mode = useRepliesQueue
  }
docs: // MockReply stores a message or a list of multipart messages to be returned when
  // the next request comes. It is a FIFO queue - multiple replies can be pushed into it,
  // the first message or the first set of multi-part messages will be popped when
  // some request comes.
  // Using of this method automatically switches the mock into the useRepliesQueue mode.
  //
  // Note: multipart requests are implemented using two requests actually - the multipart
  // request itself followed by control ping used to tell which multipart message
  // is the last one. A mock reply to a multipart request has to thus consist of
  // exactly two calls of this method.
  // For example:
  //
  //    mockVpp.MockReply(  // push multipart messages all at once
  // 			&interfaces.SwInterfaceDetails{SwIfIndex:1},
  // 			&interfaces.SwInterfaceDetails{SwIfIndex:2},
  // 			&interfaces.SwInterfaceDetails{SwIfIndex:3},
  //    )
  //    mockVpp.MockReply(&vpe.ControlPingReply{})
  //
  // Even if the multipart request has no replies, MockReply has to be called twice:
  //
  //    mockVpp.MockReply()  // zero multipart messages
  //    mockVpp.MockReply(&vpe.ControlPingReply{})