1. TCP Based Digit Generator Service
One REQUIRED PIgen service is defined as a stateless TCP service. A server listens on TCP port 314159. Once a connection is established the server sends a stream of data, one digit of Pi at at time, starting with the most significant digit following the decimal point. Any incoming data MUST be discarded. This continues until the client closes the connection.
The data flow over the connection is limited by the normal TCP flow control mechanisms, so there is no concern about the server sending data faster than the client can process it.
Servers MAY use any appropriate method of Pi digit generation to provide this service, including (but not limited to) table lookup [DIGITS], numerical calculation [FIBPI,PIFFT] and statistical sampling [MCM]. However, the method chosen SHOULD provide a precise value for the digits of Pi generated.
Implementors of PIgen MUST provide this service to be conditionally compliant with this RFC.
1.1. Approximate Service
An OPTIONAL PIgen service is defined as a stateless TCP service. A server listens on TCP port 220007. Once a connection is established the server sends a stream of data, one digit of the rational number 22/7 at a time, starting with the most significant digit following the decimal point. Any incoming data MUST be discarded. This continues until the client closes the connection.
