#### 4.1.3 Sample files

PolyORB provides a set of predefined setup packages. You must `with' one of them in your application node to activate the corresponding setup.

- `PolyORB.Setup.No_Tasking_Client`: a client node, without any tasking support, configured to use all protocol personalities built with PolyORB. Note that this configuration should not be used with multiple application tasks.
- `PolyORB.Setup.Thread_Pool_Client`: a client node, with tasking enabled, configured to use all protocol personalities built with PolyORB. This configuration places no restriction on the use of tasking by application code. Middleware tasking policy is `Thread_Pool`.
- `PolyORB.Setup.Ravenscar_TP_Server`: a server node, with tasking enabled, configured to use all protocol personalities built with PolyORB. Middleware tasking runtime follows Ravenscar's profile restrictions. Middleware tasking policy is `Thread_Pool`.
- `PolyORB.Setup.Thread_Per_Request_Server`: a server node, with tasking enabled, configured to use all protocol personalities built with PolyORB. Middleware tasking policy is `Thread_Per_Request`.
- `PolyORB.Setup.Thread_Per_Session_Server`: a server node, with tasking enabled, configured to use all protocol personalities built with PolyORB. Middleware tasking policy is `Thread_Per_Session`.
- `PolyORB.Setup.Thread_Pool_Server`: a server node, with tasking enabled, configured to use all protocol personalities built with PolyORB. Middleware tasking policy is `Thread_Pool`.

To use one of these configurations, add a dependency on one of these packages, for example, `with PolyORB.Setup.Thread_Pool_Server;`. The elaboration of the application (based on Ada rules) and the initialization of the partition (based on the application personalities mechanisms) will properly set up your application.