Forum Discussion
Piotr_Lewandows
Apr 17, 2016Altostratus
CLIENT_ACCEPTED, SERVER_ACCEPTED and TCP::collect
Hi, That is probably obvious but I can't really figure out how TCP::collect is working depending on where it was enabled. When CLIENT_ACCEPTED is triggered it means three-way handshake was fi...
VernonWells
Apr 17, 2016Employee
Firstly, your initial assumptions are correct. In the client-side context (either in CLIENT_ACCEPTED or inside the
clientside
command above) a call to TCP::collect
triggers collection of segments on the client-side of the connection, firing CLIENT_DATA when some amount of data are collected (although it may fall on segment boundaries, there is no guarantee of that). Similarly, in the server-side context (in SERVER_CONNECTED above), a call to TCP::collect
triggers collection of segments on the server-side of the connection, firing SERVER_DATA when some amount of data are collected.
The rule above appears to be for SMTPS. Note that the first message in SMTP is sent from server to client, not the other way around. That's probably why
TCP::collect
for the clientside is not invoked until after the first message is received on the serverside. One doesn't expect a clientside message until after the first serverside message is delivered to the client.Recent Discussions
Related Content
DevCentral Quicklinks
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com
Discover DevCentral Connects