Free agent P.J. Tucker has agreed to a four-year, $32 million contract with the Houston Rockets, according to league sources.

The fourth year of the deal is a partial guarantee, sources told ESPN's Brian Windhorst.

Tucker, 32, is a rugged defender who averaged 6.7 points and 5.8 rebounds per game for the Phoenix Suns and Toronto Raptors last season. Toronto offered three years and $33 million, sources say.

Tucker fills Houston's need for depth behind Trevor Ariza. The Rockets quickly agreed to a deal with Tucker after Andre Iguodala, who met with Houston earlier Saturday, came to terms to return to the Golden State Warriors.

According to sources, new Rockets point guard Chris Paul helped recruit Tucker to Houston. The two players have been close since growing up in North Carolina.

The Vertical first reported Tucker's deal.

The Raptors acquired Tucker at the trade deadline in February, sending center Jared Sullinger and two second-round draft picks to the Suns in exchange for the veteran small forward. The deal reunited the sides; Tucker was drafted by the Raptors in 2006.

His second stint in Toronto was successful, as he gave the team a hard-working, defensive presence off the bench. In 24 games (four starts), Tucker averaged 5.8 points and 5.4 rebounds in just over 25 minutes per game en route to the first playoff appearance of his career.

"This team has come so far from the time I was here back in the day," Tucker said after the season. "The franchise had gone to another level. It's been great."

Tucker, 32, holds career averages of 7.7 points and 5.7 rebounds.