freetds AT lists.ibiblio.org
Subject: FreeTDS Development Group
List archive
Re: [freetds] connection, login, socket, sessions and more!
- From: "James K. Lowden" <jklowden AT freetds.org>
- To: freetds AT lists.ibiblio.org
- Subject: Re: [freetds] connection, login, socket, sessions and more!
- Date: Sat, 21 May 2011 14:05:24 -0400
On Fri, 20 May 2011 11:44:53 +0200
Frediano Ziglio <freddy77 AT gmail.com> wrote:
> 1)
> - move additional fields from TDS_CONNECTION to TDS_LOGIN and use
> TDS_LOGIN for all
> - add a new TDS_CONNECTION structure
>
> 2)
> - rename TDS_SOCKET to TDS_SESSION
> - add a new TDS_SOCKET structure
>
> 3)
> - move additional fields from TDS_CONNECTION to TDS_LOGIN and use
> TDS_LOGIN for all
> - rename TDS_SOCKET to TDS_SESSION
> - add a new TDS_SOCKET structure
Thanks for taking the time to think this through and discuss it. Some
of this stuff is very old and has evolved away from the original
ideas.
The minimal change would be a new TDS_MARS struct:
typedef struct tds_mars {
/* MARS fields */
} TDS_MARS;
struct tds_socket {
/* unchanged, except */
TDS_MARS** mars;
};
Isn't that enough?
Following Microsoft's terminology, we might call it TDS_SMUX or
TDS_MCSMP instead.
What "additional fields" do we need for TDS_MARS?
>From a quick scan of
[MC-SMP].pdf
(http://download.microsoft.com/download/B/0/B/B0B199DB-41E6-400F-90CD-C350D0C14A53/%5BMC-SMP%5D.pdf)
it looks like a TCP tunnel: SID, state, window size, last received, last
acknowledged, etc.
> Also TDS_SOCKET reminds too much a physical connection.
MARS doesn't change the number of "physical" connections. There's
still exactly *one* TCP socket, with N MARS "SID" session IDs, where N
>= 1 for a connected socket.
> > - move additional fields from TDS_CONNECTION to TDS_LOGIN
> > and use TDS_LOGIN for all
> > - add a new TDS_CONNECTION structure
I would like to *remove* TDSCONNECTION, and use only TDSLOGIN.
I suggest:
1. Add TDS_MARS (or other name) per above.
2. Remove TDSCONNECTION; move fields to TDSLOGIN.
3. (option) rename TDSSOCKET to TDSCONNECTION.
"Session" is not a technical networking term. In English, we "open a
connection"; in Unix the result of connect(2) or accept(2) is a
connection. I would reserve "session" for server-side settings,
"session properties", things like ANSI_DEFAULTS.
Regards,
--jkl
-
[freetds] connection, login, socket, sessions and more!,
Frediano Ziglio, 05/20/2011
- Re: [freetds] connection, login, socket, sessions and more!, James K. Lowden, 05/21/2011
Archive powered by MHonArc 2.6.24.