16.RMI를 위한 메시지 범위

Edit

각 RMI 함수 선언은 1개의 메시지 타입을 가집니다. ProudNet의 메시지 타입은 1300~60000 사이의 범위 내에서 사용자가 결정하며 이 범위는 사용자가 .pidl 파일을 작성시에 합니다.

각 RMI의 메시지 타입 값의 예는 아래와 같습니다.

global SampleRMI 5000
{
    Foo1(...); // Assigned Message Type ID = 5001
    Foo2(...); // Assigned Message Type ID = 5002
    Foo3(...); // Assigned Message Type ID = 5003
}

즉 각 함수는 메시지 타입 값이 하나씩 증가합니다. 그리고 마지막으로 선언된 RMI 함수에 배정된 타입 값까지를 메시지 범위라고 칭하겠습니다. 위 예에서는 5000~5003이 SampleRMI를 위한 메시지 범위입니다.

생성된 Proxy와 Stub을 Proud.CNetClient , Proud.CNetServer , Proud.CLanClient , Proud.CLanServer 에 attach하게 되면 각 RMI function group들의 메시지 범위가 Proud.CNetClient , Proud.CNetServer , Proud.CLanClient , Proud.CLanServer 에 예약됩니다. 만약 attach할 proxy와 stub들의 메시지 범위가 겹치는 것들이 있으면 AttachProxy() 나 AttachStub() 은 exception을 throw 할 것입니다.